Easy_install和pip broken:pkg_resources.DistributionNotFound:distribute == 0.6.36

时间:2013-10-16 09:58:36

标签: python pip distribute

我尝试在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 && ls

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

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

  1. /usr/local/bin/pip

  2. 中将点数版本更改为1.4.1
  3. /usr/local/bin/easy_install

  4. 中将分发版本更改为0.6.49

    关于卷曲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
    

8 个答案:

答案 0 :(得分:75)

按如下方式安装分发包:

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

您将有一个工作easy_install

快乐编码。

答案 1 :(得分:17)

其他答案都不适合我。 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后才到达这一点。

答案 2 :(得分:11)

如果您这样做,那么它将起作用:

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
  • 中将点数版本更改为1.4.1
  • 在[{1}}
  • 中将分发版本更改为0.6.49

答案 3 :(得分:5)

哪个操作系统?

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

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,因为这似乎是您的问题。

答案 4 :(得分:4)

再次指出这一点,使解决方案更加明显!

只需运行命令sudo easy_install --upgrade pip即可解决问题!

答案 5 :(得分:1)

似乎pip是在引用新版本的python时安装的,而你的活动python可执行文件仍旧。 如果你想保留python的旧版版本,它非常简单:使用旧版本重新安装pip。

  1. 获取从https://pip.pypa.io/en/stable/installing/
  2. 链接的get-pip.py文件
  3. 使用旧版本的python可执行文件(我假设它应该是python命令),运行脚本。
  4. 如果您正在寻找快捷方式:cd /tmp/ && wget https://bootstrap.pypa.io/get-pip.py && sudo python get-pip.py

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

答案 6 :(得分:1)

我正处于从OSX系统python迁移到homebrew python的过程中,并且遇到了同样的错误。 升级自制的python版本(运行brew upgrade python)为我做了一件事。

答案 7 :(得分:0)

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

我遇到错误'pkg_resources.DistributionNotFound:找不到'setuptools == 19.4'分布,并且是应用程序所需的。 当v 36.2.7已经出来时,我下载了setuptools v 19.4。我安装了v 19.4,然后使用命令“easy_install --upgrade setuptools”进行了升级。 其后一切都像魅力一样。