我正在 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?如果是这样,为什么?
最佳答案
在许多系统上,pip
使用 Python 2 解释器,而 pip3
使用 Python 3 解释器。仅安装 Python 3 时,pip
与 pip3
相同。了解使用哪个解释器的一种方法是读取文件 pip
的第一行。
python3 -m pip install
相当于 pip3
但至少明确表明您想要使用 python3
。
在你的例子中,看起来pip
使用Python 2解释器,但使用了为Python 3安装的模块。这很奇怪。
我建议您使用python3 -m pip install
,而不是依赖命令pip
。
关于python - pip install 与 python3 -m pip install,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56940665/