在阅读有关的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
。
不知道该怎么做了错误。 谢谢。
残酷的方式:
假设你正在使用自制的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。
我偶然得到一个类似的状态从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
如果链接不起作用,你可以找到送花儿给人分发的新版本在这里 。
顺便说一句,有一个更简单的方法来做到这一点(我只是遇到了这一点)。
编辑/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')()
)
那么你可能会在这一点上完全好。
我今天得到了类似的问题。 经过一番研究,我解决它通过重新安装PIP使用此: -
python -m pip install --upgrade --force-reinstall pip
希望有人会发现它有用。
我想在需要PIP 1.2.1找出来,但我没有那么多时间,所以,我只是降级点子至1.2.1。 它不能帮助了一段时间,直到PIP或分发包被修改。
这该怎么做? 只是在控制台输入这个(我希望你的分发包好):
easy_install pip==1.2.1
没有必要卸载Python和安装回去。 获得安装了最新的分发包,然后更新PIP它应该做的伎俩。
wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
sudo python ez_setup.py
sudo easy_install -U pip
在2个步骤,正确的方式来解决PIP的现代版(6.x中)
删除pip
在Python的包site-package
。 对于自制的Python 2.7,这样做:
rm -r /usr/local/lib/python2.7/site-packages/pip
按照说明书上的官方pip
文档站点重新安装。 对于短:
curl -O https://bootstrap.pypa.io/get-pip.py python get-pip.py
对于pip
6.x中,有没有需要安装的传统distribute
包。 只要setuptools
,这将在默认情况下通过安装get-pip.py
上述脚本。
嗯..令人费解。 想知道的是1.2.1从何而来。 只是出于好奇,你可以张贴在/ usr / local / bin目录/ PIP的内容是什么? 应该只有几行。
您可以尝试与分发更新PIP(再次),也许还经销本身..
easy_install --upgrade distribute
easy_install --upgrade pip