破了pip3和easy_install3:DistributionNotFound

fel*_*ade 6 python pip

pip3似乎被打破了:

$ pip3 --version
Traceback (most recent call last):
  File "/usr/bin/pip3", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2708, in <module>
    working_set.require(__requires__)
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 686, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 584, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pip==1.5.6
Run Code Online (Sandbox Code Playgroud)

我试图通过重新安装修复它pip3easy_install3,但easy_install3也断了:

$ sudo easy_install3 --upgrade pip3
Traceback (most recent call last):
  File "/usr/bin/easy_install3", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2708, in <module>
    working_set.require(__requires__)
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 686, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 584, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: distribute==0.6.24dev-r0
Run Code Online (Sandbox Code Playgroud)

从apt重新安装pip3也没有帮助.

$ sudo apt-get remove python3-pip
$ sudo apt-get install --fix-missing -t testing python3-pip
Run Code Online (Sandbox Code Playgroud)

我正在运行Debian 7(稳定版).我从测试库安装了Python 3.4.2.

Mat*_*DMo 8

让一切恢复正常的最简单方法可能是下载get-pip.py,然后运行

sudo python3 get-pip.py
Run Code Online (Sandbox Code Playgroud)

这将升级pip到最新版本(目前为6.1.1)并进行更新setuptools.


fel*_*ade 6

我不得不下载并运行两个脚本,get-pip.py并且ez_setup.py

sudo python3 get-pip.py
sudo python3 ez_setup.py
Run Code Online (Sandbox Code Playgroud)

那些修复了pip3和easy_install3.

  • 如脚本`get-pip.py`中所述,脚本包含'zip文件的base85编码,此zip文件包含pip的完整副本.'..尽管有文档记录,但我不会使用此因为我认为使用`sudo`执行这个脚本是疯了 (2认同)