python系列&deep_study系列:conda环境下pip install 无法安装到指定conda环境中(conda环境的默认pip安装位置)
conda环境下pip install 无法安装到指定conda环境中(conda环境的默认pip安装位置)
conda环境下pip install 无法安装到指定conda环境中(conda环境的默认pip安装位置)
参考:https://blog.csdn.net/weixin_54626591/article/details/142916819
1. 修改当前环境下的路径设置
查看当前环境包的搜索路径 以及用户环境的目录
(类似于 sys.path()
的效果) 查看当前环境的包搜索路径(pip
默认安装路径
python -m site
因为 pip install
背后实质上是通过 setup.py
来安装python包
的;
而 setup.py
中用到 setuptools
,安装过程中会用到sys.path
信息,虽然上面sys.path
中的信息包含 envs/py38
,这个虚拟环境路径;
而且sys.path
中的目录排序是有优先级顺序的(envs/py38
路径排在.local后面)
再者,当前用户环境目录也是 .local/
, 且会最优先用户环境目录进行安装目录的确认;
修改用户环境目录
注:修改的前提是已经进入虚拟环境,这样修改的是虚拟环境下的配置,而不会影响到全局
修改当前环境下的 site.py 文件: ,路径改为上图3中所示对应路径
sudo vim /opt/conda/envs/<your-env>/lib/<python3.8>/site.py # 是否sudo看情况
默认 USER_SITE
、USER_BASE
都为None
(用的时候会默认填充当前用户的)
接下来把他们修改为conda环境
的目录
2. 直接先删除导致冲突的pip,再在当前环境下安装pip
1. 先把原始路径上的、local/文件夹里的pip卸载了(删了)
python -m site
删除USER_SITE路径下的pip
2. 然后再重装自己虚拟环境里的pip,就能自动更新关联到你虚拟环境内的pip啦。
conda install pip
4. 如果原始路径下还有pip的需求,再单独在环境外安装下pip.
底下评论
最好的文章!
补充pip的卸载 python -m pip uninstall -y pip
安装 python -m ensurepip --default-pip