在更新setuptools和可能的distribution后更新pip

1 投票
1 回答
2677 浏览
提问于 2025-04-18 14:29

我决定升级pip。用命令 pip --version 查看后,发现我的python 2.7上pip的版本是 pip 1.2.1

首先,我觉得升级setuptools是个不错的主意,因为 setuptools.__version__ = '0.6'

pip install -U setuptools
....
Downloading distribute-0.7.3.zip (145kB): 145kB downloaded
Running setup.py egg_info for package distribute

Downloading/unpacking setuptools>=0.7 (from distribute)
Downloading setuptools-5.4.1.tar.gz (782kB): 782kB downloaded
Running setup.py egg_info for package setuptools

Installing collected packages: distribute, setuptools
Found existing installation: distribute 0.6.34
Uninstalling distribute:
Successfully uninstalled distribute
Running setup.py install for distribute

Found existing installation: distribute 0.6.34
Can't uninstall 'distribute'. No files were found to uninstall.
Running setup.py install for setuptools

Installing easy_install script to /usr/local/share/python
Installing easy_install-2.7 script to /usr/local/share/python
Successfully installed distribute setuptools
Cleaning up...

但是这和 distribute 有点说不通。我到底有没有这个东西?它的版本是什么呢?

现在,接下来的操作都不成功(无论是用 -U 还是 --upgrade 选项),因为缺少了一些分发选项:

pip install -U pip
Downloading pip-1.5.6.tar.gz (938kB): 938kB downloaded
Running setup.py egg_info for package pip
path/to/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'entry_points'
  warnings.warn(msg)
path/to/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'extras_require'
  warnings.warn(msg)
path/to/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
  warnings.warn(msg)
path/to/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'tests_require'
  warnings.warn(msg)

usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] ...
error: invalid command 'egg_info'

有没有简单的方法来解决这个问题?我需要卸载分发包还是降级(这怎么操作呢)?谢谢!

1 个回答

1

没有更多的信息,很难判断你的问题,但这个解决办法是安全的,试试看很可能能解决你的问题。

首先,确保你只有一个 Python 2.7 的版本。如果你有多个安装版本,确保你使用的工具都是匹配的——比如不要用 /usr/local/bin/pip 来为 /usr/bin/python 安装包。

接下来,卸载 setuptoolsdistributepip。首先尝试用 pip 自己来卸载。如果它告诉你有其他包依赖于这些,先停下,报告一下情况,别让事情变得更糟。如果因为权限问题卸载失败,使用 chmod 来修复权限,然后再试一次。如果因为它自己搞不清楚而卸载失败,那是正常的;只需手动从你的 site-packages 文件夹中删除这些包。

最后,使用 get-pip.py 脚本重新安装 pip。(和之前的版本不同,这个会自动为你安装 setuptools,如果需要的话。)

撰写回答