【问题标题】:broken easy_install and pip after upgrading to OS X Mavericks升级到 OS X Mavericks 后,easy_install 和 pip 损坏
【发布时间】:2014-02-04 18:20:52
【问题描述】:

升级到 OS X 10.9 Mavericks 并安装了 XCode、命令行工具、XQuartz 等。现在尝试运行 pip 安装,但它说找不到发行版:

Traceback (most recent call last):

  File "/usr/local/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
  File     "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py",     line 2603, in <module>
    working_set.require(__requires__)
  File   "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py",     line 666, in require
needed = self.resolve(parse_requirements(requirements))
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 565, in resolve
raise DistributionNotFound(req)  # XXX put more info here
pkg_resources.DistributionNotFound: pip==1.4.1

所以我尝试使用 easy_install 安装 pip。原来这也很无聊:

Traceback (most recent call last):
  File "/usr/local/bin/easy_install", line 5, in <module>
from pkg_resources import load_entry_point
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2607, in <module>
parse_requirements(__requires__), Environment()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 565, in resolve
    raise DistributionNotFound(req)  # XXX put more info here
pkg_resources.DistributionNotFound: setuptools==1.1.6

所以其他一些线程说要使用 sudo python ez_setup.py 重新安装 setuptools。它似乎工作正常:

Installed /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools-1.1.6-py2.7.egg
Processing dependencies for setuptools==1.1.6
Finished processing dependencies for setuptools==1.1.6

但是在运行 easy_install pip 时,出现相同的 pkg_resources.DistributionNotFound: setuptools==1.1.6 错误。其他人有这个问题吗?任何想法如何解决这个问题?

【问题讨论】:

  • 您拥有/usr/local/bin/easy_install 的事实意味着您在 Apple 给您的 Python 之上添加了至少一个额外的 Python,并且您遇到了经常困扰 Unix 新手的常见路径混乱谁这样做。您需要第三方 Python 吗?如果没有,你还记得你是从哪里得到的吗?
  • 另外,你从哪里得到setuptools 1.1.6? IIRC,那是几个月前的事了,而且只有几天的时间。你几乎肯定想要 2.1。但除此之外,如果今天的安装正在抓取旧的东西,这意味着你的缓存有些时髦,可能还有更多需要清除的东西。

标签: python pip osx-mavericks setuptools easy-install


【解决方案1】:
  1. 安装easy_install:

    https://pypi.python.org/pypi/setuptools下载ez_setup.py模块

    $ cd path/to/ez_setup.py
    $ python ez_setup.py
    
  2. 安装pip:

    $ sudo easy_install pip
    

【讨论】:

  • 网关超时。任何想法为什么? wget python-distribute.org/distribute_setup.py --2014-09-19 14:47:32-- python-distribute.org/distribute_setup.py 正在解析 python-distribute.org... 88.191.140.69 正在连接到 python-distribute.org|88.191.140.69|:80...连接的。 HTTP 请求已发送,等待响应... 504 网关超时 2014-09-19 14:51:33 错误 504:网关超时。
  • 看起来已经移动或服务器已关闭,您将不得不在其他地方寻找分布。
  • 这个答案现在有潜在危险,squatters 接管了 python-distribute.org 域,当我去那里时,它试图向我的机器提供一些有问题的“Adobe Flash 更新”
【解决方案2】:

试试sudo python -m easy_install pip

【讨论】:

    【解决方案3】:

    我遇到了与git-review 类似的问题。

    $ git review -s
    Traceback (most recent call last):
      File "/usr/local/bin/git-review", line 11, in <module>
        sys.exit(main())
      File "/Library/Python/2.7/site-packages/git_review/cmd.py", line 1132, in main
        (os.path.split(sys.argv[0])[-1], get_version()))
      File "/Library/Python/2.7/site-packages/git_review/cmd.py", line 180, in get_version
        provider = pkg_resources.get_provider(requirement)
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 197, in get_provider
        return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 666, in require
        needed = self.resolve(parse_requirements(requirements))
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 565, in resolve
        raise DistributionNotFound(req)  # XXX put more info here
    pkg_resources.DistributionNotFound: git-review
    

    The git-review team said it was a bug with pkg_resources 可以修复

    sudo pip install --upgrade setuptools
    

    这对我来说很好。

    【讨论】:

    • 如果你 -1ed 这个,你能添加评论解释为什么吗?
    • 为我工作,无需 sudo 来自互联网的一些文件。
    猜你喜欢
    • 2013-11-18
    • 2014-08-05
    • 2012-07-29
    • 2014-12-15
    • 1970-01-01
    • 1970-01-01
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多