在OSX 10.7.5上,我正在尝试使用pip3
命令将软件包安装到python3。当我尝试时,我收到此错误消息:
zak$ pip3
Traceback (most recent call last):
File "/usr/local/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/setuptools-1.0-py3.3.egg/pkg_resources.py", line 2793, in <module>
File "/usr/local/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/setuptools-1.0-py3.3.egg/pkg_resources.py", line 673, in require
File "/usr/local/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/setuptools-1.0-py3.3.egg/pkg_resources.py", line 580, in resolve
pkg_resources.VersionConflict: (pip 1.4.1 (/usr/local/lib/python3.3/site-packages), Requirement.parse('pip==1.3.1'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/bin/pip3", line 5, in <module>
from pkg_resources import load_entry_point
File "<frozen importlib._bootstrap>", line 1567, in _find_and_load
File "<frozen importlib._bootstrap>", line 1534, in _find_and_load_unlocked
File "/usr/local/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/setuptools-1.0-py3.3.egg/pkg_resources.py", line 2797, in <module>
File "/usr/local/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/setuptools-1.0-py3.3.egg/pkg_resources.py", line 576, in resolve
pkg_resources.DistributionNotFound: pip==1.3.1
看起来setuptools
要求旧版本的pip(我安装了1.4.1),但为什么呢?我该如何解决这个问题?
答案 0 :(得分:2)
问题似乎是您有两个不同的Python 3.3安装和一个共享的site-packages目录。*您作为pip3
运行的工具来自pip 1.3.1,但它用于的模块它的工作来自pip 1.4.1。
解决这个问题的最简单方法是,除非你真的需要同时安装Python 3.3,否则就要彻底摆脱它们,然后重新安装你想要的那个。
以下内容应该有效(可能使用sudo
来执行某些命令 - 或者使用Finder并让它告诉您是否需要进行身份验证。)
请注意,这将还部分或完全删除任何其他第三方Python版本(例如,python.org 2.7.5),我认为这对您来说不是问题,但可能是未来的读者。
您可能希望在卸载任何内容之前列出所有已安装的软件包。 (我通常以最黑的方式执行此操作:启动ipython
,然后使用Tab键完成导入语句...)
最后,对于有类似问题的未来读者来说,其中一些细节会有所不同,但基本思路应该是相同的。
brew uninstall python3
rm -rf /Library/Frameworks/Python.framework
rm -rf /usr/local/lib/python*
rm -rf /usr/local/share/python*
~/.bash_profile
(或~/.profile
或其他地方)中查找将路径添加到PATH的位置。您可能在/usr/local/share/python3
或Python.framework
内有Cellar/python3
和/或某些内容。废弃你发现的一切。brew doctor
,并修复它抱怨的任何看起来可能相关的内容(非Homebrew MacFUSE的东西原样很好; brew prune
建议可能值得做,但无关紧要在这里),再次运行以确保。brew install python3
。pip3
重新安装您删除的所有需要的软件包。*详情:
/usr/local/Cellar/python3/3.3.2/
中,各种内容符号链接到/usr/local/bin
及其兄弟姐妹中,可能还有/Library
某处。/Library/Frameworks/Python.framework/Versions/3.3/
中,可能会将各种内容符号链接到/usr/local/bin
或以其他方式添加到您的PATH中。/usr/local/lib/python3.3
。答案 1 :(得分:0)
运行后
pip install --upgrade setuptools
我能够解决它。但是对于每个人来说这可能都不是真的,因为我还在学习Python。
答案 2 :(得分:0)
这似乎是由于Python安装失败造成的,我可以通过用Homebrew重新安装Python来修复它。
brew reinstall python3