导言: 在conda环境下使用pip安装库时,许多时候会出现一些奇怪的现象,即用pip安装完成后在该conda环境下却没有该库。本文将说明该问题出现的原因,修复方式和如何正确地在conda环境中使用pip。
问题现象
复现:
- 新建环境
conda create -n test
- 切换环境
conda activate test
- 直接安装
pip install numpy
- 检查环境
conda list
可以看到,在安装numpy时系统就显示Requirement already satisfied,说明系统已经安装了numpy,但明明是一个新建环境,是不可能已经安装了东西的,所以这里肯定是有问题的。
当我们检查环境中的库时,显然可以发现当前环境是空的,什么都没有。这也正是问题所在。
定位问题
首先检查当前的pip,输入which pip
,可以得到以下结果:
显然该pip是系统的pip,而不是环境的pip,所以这正是问题的原因。
如何正确地使用pip
新建环境后,第一步先在该环境中用conda安装python,此时会自动带上pip。
或者直接安装pip,此时同样也会自动带上python。
等该环境的pip已经安装好时,此时运行which pip
,就可以发现现在的pip正是当前环境中的pip。
现在重新通过pip安装需要的包,此时就可以发现包已经正确地安装到环境中。
注意事项:
如果你在环境新建以后,没有安装pip的情况下直接调用了pip,此时再安装pip,安装完之后调用pip可能会出现仍旧是系统pip的情况,此时需要新开终端才行。