Linux环境conda虚拟环境中python解释器对应问题 + pip install 路径对应问题
1. 问题一:开启了虚拟环境但python解释器仍是系统安装的python
1.1 原因
在创建虚拟环境时没有显式指定python版本,导致所创建的虚拟环境下没有bin目录。
原理:在虚拟环境下,运行python时,会先找当前虚拟环境下的python,默认的路径是虚拟环境目录下的/bin目录中的python。当虚拟环境中没有bin目录,虽然此时用conda list查看仍已安装python,但anaconda找不到/bin,因此只能调用系统的pyhton解释器。
1.2 解决
把虚拟环境删掉,再重新下回来,后面加上显示指定即可。
conda create -n 'my-env' python=3.8
后面加上python=3.8即可
2. 问题二:在虚拟环境下,使用conda能安装到本虚拟环境的/home/urname/anaconda3/envs/your-env/lib,但pip仍安装到系统python的包路径
2.1 原因
虚拟环境的python的site.py中默认 USER_SITE=None
使用pip安装时首先查看USER_SITE中的地址,当site.py中的USER_SITE=None就导航到系统默认python的包路径中。(可能是根据USER_BASE或其他方式)
2.2 解决
修改site.py中的
USER_SITE=/home/urname/anaconda3/envs/your-env/lib
再使用pip即可正常下载。
3.曾尝试的其他方法
1、修改.condarc、.bashrc 2、使用conda安装,报国内源找不到 torch 以及不时会出现HTTP连接超时问题(Error 101) 3、手动改变pip报找不到指定的interpretor等一些不正确的思路
|