哪个pip与哪个python?

Ami*_*mir 4 python homebrew numpy matplotlib

这真让我抓狂。我试图删除安装mac os x el capitan并重新安装的所有 python 包brew install pythonpip. 我有:

which pip
/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/bin/pip
Run Code Online (Sandbox Code Playgroud)

which python
/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/bin/python
Run Code Online (Sandbox Code Playgroud)

所以使用 pip list

pip list
cycler (0.10.0)
matplotlib (1.5.1)
numpy (1.11.0)
pip (8.1.2)
python-dateutil (2.5.3)
pytz (2016.4)
setuptools (19.4)
six (1.10.0)
wheel (0.26.0)
Run Code Online (Sandbox Code Playgroud)

但是,当我运行 python 时,没有名为 numpy 和 matplotlib 的模块:

python
Python 2.7.11 (default, Jan 22 2016, 08:29:18) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named numpy
>>> import matplotlib
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/site-packages/matplotlib/__init__.py", line 122, in <module>
    from matplotlib.cbook import is_string_like, mplDeprecation, dedent, get_label
  File "/usr/local/lib/python2.7/site-packages/matplotlib/cbook.py", line 33, in <module>
    import numpy as np
ImportError: No module named numpy
Run Code Online (Sandbox Code Playgroud)

这是我的sys.path

sys.path
['', '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages', '/usr/local/lib/python2.7/site-packages/gtk-2.0']
Run Code Online (Sandbox Code Playgroud)

mfi*_*tzp 7

您可以pip通过将特定版本的 Python 作为模块运行来运行它。命令行参数就像直接从命令行运行一样工作。例如,尝试:

python -m pip list
Run Code Online (Sandbox Code Playgroud)

如果仍然列出numpy它可能意味着numpy安装有问题 - 即.egg文件在那里,但模块文件夹不在。要尝试解决此问题,您可以使用--force-reinstallwith pip,例如

python -m pip install numpy --force-reinstall --upgrade
Run Code Online (Sandbox Code Playgroud)

如果这仍然不起作用,您可以求助于转到报告的文件夹sys.pathnumpy手动删除任何相关内容。

由于您的pip设置似乎一团糟,您可能也想尝试重新安装pip

  • 我建议在从 python 安装中手动删除文件之前尝试 [强制重新安装 numpy](http://stackoverflow.com/questions/19548957/can-i-force-pip-to-reinstall-the-current-version)文件夹。 (2认同)