一、总结:
通过下面图片中的命令可以得出这个结论:
所有人的机器正常情况下(我的服务器是这个情况):conda activate jie_env激活虚拟环境后,使用pip list展示的是新的虚拟环境jie_env中的包,不是本地base中的包。
二、我的问题(异常情况)
但是,我的机器(本地主机是这个情况),pip list会展示的本地python环境中的包。
三、解决方法:
后来发现了,之所以在base环境下使用pip list展示的是本地python环境中的包,是因为之前加过一个环境变量到~/.bashrc中
export PATH="/usr/bin:/bin:$PATH"
将这行注释掉人然后重新source ~/.bashrc就行了,之后在base环境下使用pip list默认就展示的是base下面的环境了。这个是本人通过which pip命令发现输出是/usr/bin/pip发现的。
四、强制使用自定义环境技巧:
同理,也可以让使用环境变量默认使其pip list展示位其他conda环境的变量,比如
(base) jie@dell:~/桌面$ which pip
/home/jie/anaconda3/bin/pip
(jie_fno) jie@dell:~/桌面$ which pip
/home/jie/anaconda3/envs/jie_fno/bin/pip
通过上面命令查询conda下面的pip的位置,然后再将其bin目录导入环境变量,这样每次使用pip install都会使用这个环境安装包了,但是就用不了其他环境了,还有就是切换pip 环境不方便。如下所示。
写入~/.bashrc 然后source ~/.bashrc
export PATH="/home/jie/anaconda3/envs/jie_fno/bin/:$PATH"
五、判断安装的install包安装到了哪里
可以使用
(base) jie@dell:~/桌面$ which python
/home/jie/anaconda3/bin/python
(base) jie@dell:~/桌面$ which python3
/usr/bin/python3
以及
(jie_fno) jie@dell:~/桌面$ which pip
/usr/bin/pip
(jie_fno) jie@dell:~/桌面$ which pip3
/usr/bin/pip3
(jie_fno) jie@dell:~/桌面$ which conda
/home/jie/anaconda3/condabin/conda
命令根据路径自行判断安装的install包安装到了哪里。从上面能看出
- pip install安装到了本地python环境
- pip3 install也是安装到了本地环境
- conda install安装到conda下的jie_fno环境。