pip3表示“resolve pkg_resources.DistributionNotFound:pip==1.3.1”

2024-05-14 14:09:56 发布

您现在位置:Python中文网/ 问答频道 /正文

在OSX10.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),但是为什么呢?我该怎么解决?


Tags: inlibpackagesusrlocallinesitepkg
2条回答

运行后

pip install --upgrade setuptools

我能修好它。但对于每个人来说,这可能不是真的,因为我仍然在学习Python。

问题似乎是,您有两个不同的Python 3.3安装,以及一个共享的site packages目录。*并且您运行的工具pip3来自pip 1.3.1,但是它用于执行其工作的模块来自pip1.4.1。

要解决这个问题,最简单的方法是完全删除这两个Python 3.3,然后重新安装所需的python3.3。

下面的命令应该可以工作(对于某些命令,可以使用sudo,或者使用Finder并让它告诉您是否需要进行身份验证)。

请注意,这也将部分或完全删除任何其他第三方Python版本(例如Python.or g 2.7.5),我认为这对您来说不是问题,但对未来的读者可能是问题。

在卸载任何软件包之前,您可能需要列出所有已安装软件包的列表。(我通常以最黑的方式完成这项工作:启动ipython,让它tab完成一个import语句…)

最后,这些细节对于任何有类似问题的未来读者来说都是不同的,但基本思路应该是相同的。

  • brew uninstall python3
  • rm -rf /Library/Frameworks/Python.framework
  • rm -rf /usr/local/lib/python*
  • rm -rf /usr/local/share/python*
  • ~/.bash_profile(或~/.profile或其他位置)中查找将Python路径添加到路径的位置。在Python.frameworkCellar/python3中可能有/usr/local/share/python3和/或其他内容。把你找到的都扔掉。
  • 在Terminal.app中启动一个新shell。
  • brew doctor,并修复它所抱怨的任何可能相关的内容(非自制MacFUSE的东西是很好的;建议可能值得做,但在这里不重要),然后再次运行以确保。
  • brew install python3
  • pip3重新安装您删除的任何软件包。

*详情:

  • Homebrew Python3.3安装在/usr/local/Cellar/python3/3.3.2/中,各种东西符号链接到/usr/local/bin及其同级,也可能链接到/Library的某个地方。
  • 另一个Python 3.3,可能来自Python.org安装程序,安装在/Library/Frameworks/Python.framework/Versions/3.3/中,各种东西可能被符号链接到/usr/local/bin中,或者添加到您的路径中。
  • 两者都可能在其网站包搜索中包含/usr/local/lib/python3.3

相关问题 更多 >

    热门问题