conda环境下pip install 无法安装到指定conda环境中(conda环境的默认pip安装位置)

1|0Outline

今天新建了个conda虚拟环境,需要安装某个库,进行了以下操作:

conda activate py38 # 激活名为py38的虚拟环境 pip install mdlib -i http://nexus.td.internal/nexus/repository/pypi_group/simple # 安装需要的库(源是我们自己搭建的nexus)

 然而pip安装完后,发现安装到这里了: .local/lib/python3.8/site-packages

按理说应该安装到这里:/opt/conda/envs/py38/lib/python3.6/site-packages

指定pip安装:

直接指名道姓(指定pip)的安装,这下应该可以了吧;

然并卵,依然会自动安装到 .local/ 下面。

2|0解决

2|1查看包的搜索路径

可以通过 python -m site(类似于 sys.path()的效果) 查看当前环境的包搜索路径(pip默认安装路径

以及用户环境的目录

因为 pip install 背后实质上是通过 setup.py 来安装python包的;

而 setup.py 中用到 setuptools,安装过程中会用到sys.path信息,虽然上面sys.path中的信息包含 envs/py38,这个虚拟环境路径;
而且sys.path中的目录排序是有优先级顺序的(
envs/py38 路径排在.local后面

再者,当前用户环境目录也是 .local/, 且会最优先用户环境目录进行安装目录的确认;

2|2修改用户环境目录

注:修改的前提是已经进入虚拟环境,这样修改的是虚拟环境下的配置,而不会影响到全局

修改 site.py 文件:

sudo vim /opt/conda/envs/py38/lib/python3.8/site.py # 是否sudo看情况

 默认 USER_SITE、USER_BASE 都为None (用的时候会默认填充当前用户的)

 接下来把他们修改为conda环境的目录:

 OK,再去执行下pip install 试试;

(pip install 的内容成功安装到虚拟环境下)

 


__EOF__

本文作者BigTree
本文链接https://www.cnblogs.com/bigtreei/p/15094293.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   ZhuGaochao  阅读(16496)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示