哪个 pip 与哪个 python 一起使用?

Posted

技术标签:

【中文标题】哪个 pip 与哪个 python 一起使用?【英文标题】:Which pip is with which python? 【发布时间】:2016-10-06 07:57:49 【问题描述】:

这快把我逼疯了。我试图删除安装在mac os xel capitan 上的所有python 包并重新安装brew install pythonpip。我有:

which pip
/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/bin/pip

which python
/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/bin/python

所以使用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)

但是,当我运行 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

这是我的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']

【问题讨论】:

并不是说没有matplotlib,两条错误信息都是说没有numpy。您是否尝试重新安装 numpy? 当你执行which pipwhich python时你看到了什么? 你确定numpy编译正确吗?它依赖于一堆 C 库。您也可以只尝试pip install numpy 来检查退出状态。最后,您可以像pip install pip --update 一样 pip update pip 本身,如果这确实是这里的问题(我对此表示怀疑)。 【参考方案1】:

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

python -m pip list

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

python -m pip install numpy --force-reinstall --upgrade

如果仍然不起作用,您可以求助于sys.path报告的文件夹并手动删除与numpy相关的所有内容。

由于您的pip 设置似乎搞砸了,您可能还想尝试重新安装pip

【讨论】:

我建议在手动从 python 安装文件夹中删除文件之前尝试force reinstall numpy。 @TadhgMcDonald-Jensen 感谢您的建议,第一步更好。【参考方案2】:

最准确的方法是从特定的python可执行文件中调用pip。例如:

/usr/bin/python -m pip list -v
/usr/local/bin/python3 -m pip list -v

【讨论】:

以上是关于哪个 pip 与哪个 python 一起使用?的主要内容,如果未能解决你的问题,请参考以下文章

哪个数据库与 Django 和 Python 3 一起使用? [关闭]

哪个 Pip 和哪个 Python 应该返回相同的目录? Unix RHEL 上的 Zeppelin 配置

哪个网络服务器与 Django 一起使用? (更新于 2011 年使用)

google.cloud 在哪个 python 库中?

你如何找到哪个 .lib 文件与哪个函数一起使用?

哪个反应钩子与firestore onsnapshot一起使用?