将Python 2.5升级到Python 2.6后解决pip / virtualenv惨败问题?

时间:2011-03-24 06:33:12

标签: python python-2.6 python-2.5

我在我的系统上将Python 2.5升级到Python 2.6并且它已经崩溃了(是的,这是我的错,但至少这不是高优先级的生产服务器)。 pip没有用,所以我不得不手动获取与Python 2.6兼容的最新pip。

我现在必须使用pip-2.6作为命令。有没有办法使这个覆盖pip,这似乎是对2.5包的引用? pip给了我这个:

$ pip
Traceback (most recent call last):
  File "/usr/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 2675, in <module>
    parse_requirements(__requires__), Environment()
  File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 552, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pip==0.7.2

我做了which pip给了我:

/usr/local/bin/pip

如果我参与其中,我会看到:

#!/usr/bin/python2.6
# EASY-INSTALL-ENTRY-SCRIPT: 'pip==0.8.3','console_scripts','pip'
__requires__ = 'pip==0.8.3'
import sys
from pkg_resources import load_entry_point

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

另一件事是,我做了一个pip-2.6 install -U virtualenv并且调用virtualenv曾经工作,但现在引用已经消失了..

$ which virtualenv
/usr/local/bin/virtualenv
$ virtualenv
-bash: /usr/bin/virtualenv: No such file or directory

是否有人可以提供有关如何将pip映射到pip-2.6以及如何使virtualenv工作的见解?

4 个答案:

答案 0 :(得分:6)

我认为关键是退出或重新加载我的bash,因为它们现在似乎完美无缺。

答案 1 :(得分:3)

通过easy_install重新安装点子解决了我的问题。

答案 2 :(得分:3)

我设置了一个很好的pip / virtualenv / virtualenvwrapper环境,并且升级到Ubuntu Natty会导致抛出这些DistributionNotFound错误。这是因为我认为Python版本正在更新。以下是为我解决问题的原因:

以root身份运行:

easy_install pip
pip install virtualenv

答案 3 :(得分:0)

我最终在这个页面上因为我想在我的Lucid VPS 1上升级pip的版本,并且最终还是不得不使用pip-2.6作为命令。关闭我的PuTTY会话然后重新登录并重新加载我的bash对我来说很有用,虽然可能只是重启会话才能完成。

我不想使用easy_install来重新安装pip,因为我正在使用Lucid并且想要更新的(Oneiric)版本的Pip,即支持卸载的版本。早些时候,我已经添加了对lucid-backports 2的手动下载的支持,但是linuxnobishly无法弄清楚如何实际安装backported版本。我决定用Curl做这件事。