升级后的PIP错误DistributionNotFound(DistributionNotFound

2019-07-22 01:36发布

在阅读有关的virtualenv 这里 ,我意识到我没有PIP 1.3+,所以我跑了pip install --upgrade pip ,现在当我运行pip --version我得到以下几点:

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.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.34-py2.7.egg/pkg_resources.py", line 2807, in <module>
    parse_requirements(__requires__), Environment()
  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.34-py2.7.egg/pkg_resources.py", line 594, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pip==1.2.1

如果有帮助,或者是在所有相关的,我的$PATH看起来是这样的:

/usr/local/bin:/usr/local/share/python:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin

此外, which pip让我/usr/local/bin/pip

不知道该怎么做了错误。 谢谢。

Answer 1:

残酷的方式:

假设你正在使用自制的Mac(因为我看到在/ usr /本地/酒窖),我建议

  • 删除(或备份) /usr/local/lib/python2.7 ,和
  • brew rm python && brew install python

这肯定会安装PIP 1.3.3蟒蛇旁边。 您的分发也将是0.6.35。

软方式:

/usr/local/lib/python2.7/site-packages只是删除:

  • easy-install.pth
  • pip-1.2.1-py2.7.egg 或者你有点子的其他版本。
  • distribute-0.6.34-py2.7.egg 或其他版本

然后, brew rm python && brew install python 。 这将使从BREW所有其他绑定和安装的东西完好无损。 Python中,PIP和分发将高达最新版本替换。

另外:

请检查您没有分发或setuptools的或点子位于/Library/Python/2.7/site-packages 。 这个DIR是重新使用所有的Python 2.7版本(酿造或OS X),将与PIP /分发已经安装家酿interferre。



Answer 2:

我偶然得到一个类似的状态从OS X Lion的今天升级到山狮后。

其他提出的解决方案要么不工作,或与BREW版本,我不知道是什么saclark要求更换的Python苹果版本。

我所做的得到它固定是安装distribute人工,从而让easy_install恢复工作,然后安装pip吧。

这些命令是:

$ curl -O http://pypi.python.org/packages/source/d/distribute/distribute-0.6.45.tar.gz
$ tar -xzvf distribute-0.6.45.tar.gz
$ cd distribute-0.6.45
$ sudo python setup.py install
$ sudo easy_install pip

如果链接不起作用,你可以找到送花儿给人分发的新版本在这里 。



Answer 3:

顺便说一句,有一个更简单的方法来做到这一点(我只是遇到了这一点)。

编辑/usr/local/bin/pip ,切换到版本号引用(所以下面你会想改变“1.5.6”到任何版本号您正在使用):

#!/usr/local/opt/python/bin/python2.7
# EASY-INSTALL-ENTRY-SCRIPT: 'pip==1.5.6','console_scripts','pip'
__requires__ = 'pip==1.5.6'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.exit(
        load_entry_point('pip==1.5.6', 'console_scripts', 'pip')()
    )

那么你可能会在这一点上完全好。



Answer 4:

我今天得到了类似的问题。 经过一番研究,我解决它通过重新安装PIP使用此: -

python -m pip install --upgrade --force-reinstall pip

希望有人会发现它有用。



Answer 5:

我想在需要PIP 1.2.1找出来,但我没有那么多时间,所以,我只是降级点子至1.2.1。 它不能帮助了一段时间,直到PIP或分发包被修改。

这该怎么做? 只是在控制台输入这个(我希望你的分发包好):

easy_install pip==1.2.1


Answer 6:

没有必要卸载Python和安装回去。 获得安装了最新的分发包,然后更新PIP它应该做的伎俩。

wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
sudo python ez_setup.py
sudo easy_install -U pip


Answer 7:

在2个步骤,正确的方式来解决PIP的现代版(6.x中)

  1. 删除pip在Python的包site-package 。 对于自制的Python 2.7,这样做:

     rm -r /usr/local/lib/python2.7/site-packages/pip 
  2. 按照说明书上的官方pip文档站点重新安装。 对于短:

     curl -O https://bootstrap.pypa.io/get-pip.py python get-pip.py 

对于pip 6.x中,有没有需要安装的传统distribute包。 只要setuptools ,这将在默认情况下通过安装get-pip.py上述脚本。



Answer 8:

嗯..令人费解。 想知道的是1.2.1从何而来。 只是出于好奇,你可以张贴在/ usr / local / bin目录/ PIP的内容是什么? 应该只有几行。

您可以尝试与分发更新PIP(再次),也许还经销本身..

easy_install --upgrade distribute
easy_install --upgrade pip


文章来源: DistributionNotFound error after upgrading pip