Easy_install 和 pip 坏了:pkg_resources.DistributionNotFound:distribute==0.6.36

Posted

技术标签:

【中文标题】Easy_install 和 pip 坏了:pkg_resources.DistributionNotFound:distribute==0.6.36【英文标题】:Easy_install and pip broke: pkg_resources.DistributionNotFound: distribute==0.6.36 【发布时间】:2013-10-24 09:18:15 【问题描述】:

我曾尝试在 OSX 上使用 pip install --upgrade pip 升级 pip,但 pip 和 easy_install 都不起作用。

运行 pip 时

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.49-py2.7.egg/pkg_resources.py", line 2881, in <module>
    parse_requirements(__requires__), Environment()
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.49-py2.7.egg/pkg_resources.py", line 596, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pip==1.3.1

运行 easy_install 时

  File "/usr/local/bin/easy_install", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.49-py2.7.egg/pkg_resources.py", line 2881, in <module>
    parse_requirements(__requires__), Environment()
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.49-py2.7.egg/pkg_resources.py", line 596, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: distribute==0.6.36

我该如何解决这个问题?

更新 我找到了解决方案。

我做了cd /usr/local/lib/python2.7/site-packages &amp;&amp; ls

在目录中找到pip-1.4.1-py2.7.egg-infodistribute-0.6.49-py2.7.egg

然后以下步骤解决了这个问题。

    /usr/local/bin/pip中的pip版本更改为1.4.1

    /usr/local/bin/easy_install中将分发版本更改为0.6.49


curl ez_setup.py 并从中安装 setuptools 的其他此类问题的答案不起作用。它给出了以下错误。

Downloading https://pypi.python.org/packages/source/s/setuptools/setuptools-1.1.6.tar.gz
Traceback (most recent call last):
  File "<stdin>", line 370, in <module>
  File "<stdin>", line 366, in main
  File "<stdin>", line 278, in download_setuptools
  File "<stdin>", line 185, in download_file_curl
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 542, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['curl', 'https://pypi.python.org/packages/source/s/setuptools/setuptools-1.1.6.tar.gz', '--silent', '--output', '/usr/bin/setuptools-1.1.6.tar.gz']' returned non-zero exit status 23

【问题讨论】:

感谢修复,我认为 /usr/bin/pip 文件中有 1.4 就足够了...不,它必须是 1.4.1。 【参考方案1】:

什么操作系统?

无论如何你应该尝试这样做:

sudo easy_install -U distribute

也许这也有帮助,安装easy_install-2.7:

wget --no-check-certificate http://pypi.python.org/packages/source/d/distribute/distribute-0.6.35.tar.gz
tar xf distribute-0.6.35.tar.gz
cd distribute-0.6.35
python2.7 setup.py install

也许您需要强制更新,或重新安装 easy_install,因为这似乎是您的问题。

【讨论】:

对我有用的是通过 easy_install 在 /usr/bin 而不是 /usr/local/bin 重新安装分发包:sudo /usr/bin/easy_install -U distribute =distribute= 现已弃用 - 它是 =setuptools= 的一个分支。【参考方案2】:

安装分发包如下:

$ wget https://svn.apache.org/repos/asf/oodt/tools/oodtsite.publisher/trunk/distribute_setup.py
$ python distribute_setup.py

然后您将拥有一个有效的easy_install

快乐编码。

【讨论】:

这有助于解决另一个 pkg_resources.DistributionNotFound 问题。非常感谢!!为什么这是解决方案?什么是分发? 我在升级到 OS X Mavericks 后也遇到了同样的问题。我发现我需要通过 sudo 运行 python distribute_setup.py 升级到 OS X Mavericks 后遇到了同样的问题;但这个修复对我不起作用。 此脚本网页不可用。 在 50,000 个其他答案从未解决我的问题之后,您解决了困扰我数月的问题。如果我能把我所有的 SO 积分都给你……我不会的。但我至少会给你 10 个左右。【参考方案3】:

如果你这样做,那么它会起作用:

cd /usr/local/lib/python2.7/site-packages && ls

在目录中找到pip-1.4.1-py2.7.egg-infodistribute-0.6.49-py2.7.egg

然后以下步骤解决了这个问题:

/usr/local/bin/pip 中将 pip 版本更改为 1.4.1 在/usr/local/bin/easy_install 中将分发版本更改为 0.6.49

【讨论】:

如果找不到怎么办? 如何“更改”已安装的鸡蛋/二进制文件的版本? 我同意@Demis - 任何涉及手动编辑分发文件中的版本号的解决方案都非常可疑。【参考方案4】:

其他答案都不适合我。 these instructions 更简单。我在 /usr/local/bin/easy_install 和 /usr/local/bin/easy_install-2.7 安装了一个额外的 easy_install 副本。我很确定我是按照这里和其他地方的说明这样做的。我的解决方案是删除这两个实例:

rm /usr/local/bin/easy_install
rm /usr/local/bin/easy_install-2.7

然后用

重新安装 pip
sudo easy_install --upgrade pip

一些背景知识:我必须重新安装 OSX 后才到这一点。

【讨论】:

删除easy_install后如何运行? @xPino 因为被删除的不是系统使用的,只是妨碍了。按照我的答案中的链接了解更多信息。 @xPino 哎呀,糟透了。抱歉,它不适合你。如果这个 SO 问题有任何迹象,那么一个人如何以多种方式结束这种情况。我想你和我以不同的方式来到这里。如果我处于你的位置,我会尝试按照指示完全重新安装 setuptools。 实际上只是运行命令sudo easy_install --upgrade pip 为我解决了这个问题! 小心从 /usr/local/bin 中删除这些命令 - 它们可能是通过在 virtualenv 中安装的东西放在那里的,你以后才会意识到这一点!【参考方案5】:

再次在这里指出,让解决方案更加明显!

只需运行命令sudo easy_install --upgrade pip 就为我解决了这个问题!

【讨论】:

【参考方案6】:

似乎 pip 是参考新版本的 python 安装的,而您的活动 python 可执行文件仍然是旧的。 如果您想保留 版本的 python,这非常简单:使用旧版本重新安装 pip。

    获取从https://pip.pypa.io/en/stable/installing/ 链接的get-pip.py 文件 使用旧版本的 python 可执行文件(我假设它应该是 python 命令),运行脚本。

如果您正在寻找捷径:cd /tmp/ &amp;&amp; wget https://bootstrap.pypa.io/get-pip.py &amp;&amp; sudo python get-pip.py

脚本删除旧版本的 pip 并正确安装新的可执行文件,链接到旧 python 的可执行环境。

【讨论】:

【参考方案7】:

我正在从 OSX 系统 python 迁移到 homebrew python,并且遇到了同样的错误。 升级自制 python 版本(运行brew upgrade python)对我来说是这样的。

【讨论】:

【参考方案8】:

解决distributeNotFound错误的一种方法是下载具有精确版本的python模块。解压它,转到文件夹并安装它“python setup.py install”。然后,可能会升级到最新版本。

我遇到了错误“pkg_resources.DistributionNotFound: The 'setuptools==19.4' distribution was not found and is required by the application'。 当 v 36.2.7 已经发布时,我下载了 setuptools v 19.4。我安装了 v 19.4,然后使用命令“easy_install --upgrade setuptools”进行了升级。 此后一切都像魅力一样。

【讨论】:

以上是关于Easy_install 和 pip 坏了:pkg_resources.DistributionNotFound:distribute==0.6.36的主要内容,如果未能解决你的问题,请参考以下文章

easy_install 和 pip

python 安装easy_install和pip

python学习笔记--easy_install和pip

python 安装easy_install和pip

easy_install与pip 区别

Scrapy 安装错误 pip 和 easy_install