哪个 pip 与哪个 python 一起使用?
Posted
技术标签:
【中文标题】哪个 pip 与哪个 python 一起使用?【英文标题】:Which pip is with which python? 【发布时间】:2016-10-06 07:57:49 【问题描述】:这快把我逼疯了。我试图删除安装在mac os x
el capitan
上的所有python 包并重新安装brew install python
和pip
。我有:
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 pip
和which python
时你看到了什么?
你确定numpy编译正确吗?它依赖于一堆 C 库。您也可以只尝试pip install numpy
来检查退出状态。最后,您可以像pip install pip --update
一样 pip update pip 本身,如果这确实是这里的问题(我对此表示怀疑)。
【参考方案1】:
您可以通过将特定版本的 Python 作为模块运行 pip
来运行它。命令行参数的工作方式就像直接从命令行运行一样。例如,尝试:
python -m pip list
如果仍然列出numpy
,则可能意味着numpy
安装存在问题——即.egg
文件存在,但模块文件夹不存在。要尝试解决此问题,您可以使用 --force-reinstall
和 pip
,例如
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 配置