升级Python 2.5到2.6后如何解决pip/virtualenv问题?

1 投票
4 回答
3357 浏览
提问于 2025-04-16 14:18

我把系统上的Python从2.5升级到了2.6,结果出现了一些问题(是我自己的错,不过这台服务器也不是特别重要)。pip不工作了,所以我不得不手动下载一个与Python 2.6兼容的最新版本的pip。

现在我得用pip-2.6这个命令。有没有办法让这个命令替代掉pip,因为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

如果我用vim打开那个文件,我看到的是:

#!/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 个回答

3

我通过用 easy_install 重新安装 pip 解决了这个问题。

3

我之前设置了一个很不错的pip/virtualenv/virtualenvwrapper环境,但升级到Ubuntu Natty后,出现了DistributionNotFound的错误。我猜这是因为Python的版本被更新了。以下是我解决这个问题的方法:

以管理员身份运行:

easy_install pip
pip install virtualenv
6

我觉得关键在于登出或者重新加载我的bash,因为现在它们似乎工作得很好。

撰写回答