python3 -m pip install_pip安装与python3 -m pip安装

I am working in a conda environment, trying to install a package into it. On my previous computer, pip install within that environment worked. But on this new Mac, if I do that, and then try to import the package in that environment, it doesn't work.

This:

pip install SpeechRecognition

differs from

python3 -m pip install SpeechRecognition

The latter works below, but the former doesn't:

>>>import speech_recognition

>>>

Also, the files appear to be pointing to the same place:

(test) ~$ which python

/anaconda3/envs/test/bin/python

(test) ~$ which python3

/anaconda3/envs/test/bin/python3

(test) ~$ which pip

/anaconda3/envs/test/bin/pip

everything is running from the test environment.

So what's going on? and how do I fix it? I want to be able to test packages in an isolated environment reliably.

UPDATE

just to show that pip and pip3 are both using 3.7, not 2.7 on my machine:

(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)

Or, is that the issue? that pip uses a different 3.7 from the test environment? If so, why?

解决方案

On many systems, pip uses the Python 2 interpreter, while pip3 uses the Python 3 interpreter. When only Python 3 is installed, pip is identical to pip3. One way to know which interpreter is used, is to read the first line of the file pip.

python3 -m pip install is equivalent to pip3 but at least it's explicit that you want to use python3.

In your case, it looks like pip uses the Python 2 interpreter but with the module that has been installed for Python 3. That's curious.

I'd recommend you to use python3 -m pip install instead of relying on the command pip.

你可能感兴趣的:(python3,-m,pip,install)