pip install与python3 -m pip install

时间:2019-07-08 18:28:44

标签: python pip anaconda

我在conda环境中工作,试图在其中安装软件包。在我以前的计算机上,该环境中的pip install <package name>有效。但是在新Mac上,如果我这样做,然后尝试在该环境中导入软件包,则无法正常工作。

此:

pip install SpeechRecognition

不同

python3 -m pip install SpeechRecognition

后者在下面可以工作,但前者不能:

>>>import speech_recognition
>>>

此外,文件似乎指向同一位置:

(test) ~$ which python
/anaconda3/envs/test/bin/python
(test) ~$ which python3
/anaconda3/envs/test/bin/python3
(test) ~$ which pip
/anaconda3/envs/test/bin/pip

一切都在测试环境中运行。

那是怎么回事?以及如何解决?我希望能够在隔离的环境中可靠地测试软件包。

更新

仅显示pip和pip3都使用3.7,而不是我的计算机上的2.7:

(base) ~$ conda activate test
(test) ~$ which pip3
/Library/Frameworks/Python.framework/Versions/3.7/bin/pip3
(test) ~$ which pip
/anaconda3/envs/test/bin/pip
(test) ~$ pip --version
pip 19.1.1 from /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pip (python 3.7)

或者,这是问题吗?该pip使用与测试环境不同的3.7?如果是这样,为什么?

1 个答案:

答案 0 :(得分:0)

在许多系统上,pip使用Python 2解释器,而pip3使用Python 3解释器。仅安装Python 3时,pippip3相同。知道使用哪个解释器的一种方法是读取文件pip的第一行。

python3 -m pip install等效于pip3,但至少明确表明您要使用python3

在您的情况下,似乎pip使用Python 2解释器,但使用的是为Python 3安装的模块。

我建议您使用python3 -m pip install而不是依靠命令pip