【BUG】conda虚拟环境下,pip install安装直接到全局python目录中

问题描述

conda虚拟环境下,有的虚拟环境的python不能使用(which python时直接使用全局路径下的python),且pip install也会安装到全局路径中,无法安装到conda虚拟环境中。

解决方案

  1. 查看虚拟环境的PIP缓存默认路径python -m site -help,查看USER_BASEUSER_SITE是否是当前虚拟环境对应的路径,如果不是或者是None,需要手动找到 XXX/miniconda3/envs/ENV_NAME/lib/python3.XX/site.py文件进行更改(ENV_NAME是你的虚拟环境名字)。修改正确之后,测试pip安装which python,如果没问题大功告成。如果还是不行进行下一步。

USER_BASEUSER_SITE其实就是默认的启用Python通过pip自动下载的脚本和依赖安装包的基础路径。目前USER_BASE和USER_SITE都是python大环境下安装包所在的位置,要修改为conda环境下路径。

  1. 验证是否是因为新虚拟环境的文件夹没有权限:如果pip时说权限不够,然后sudo pip就直接默认安装到了全局python目录。这样的情况可能是因为新的conda环境所有文件没有权限,于是sudo时会使用有权限的全局python,因此需要对新创建的虚拟环境整个目录赋予权限:sudo chmod -R 755 /mnt/workspace/miniconda3/envs/diffusion/

    sudo chmod -R 755 /paths/ 给新虚拟环境目录赋予权限后就解决问题啦!

参考文献

【修改conda环境和缓存默认路径】修改Python 的 pip install 默认安装依赖路径
【python基础】—conda环境下pip install 无法安装到指定conda环境中(conda环境的默认pip安装位置)

作者:Yuezero_

物联沃分享整理
物联沃-IOTWORD物联网 » 【BUG】conda虚拟环境下,pip install安装直接到全局python目录中

发表回复