Pip列表与AssertionError崩溃

时间:2013-10-18 22:53:24

标签: python list pip

下面可能出现什么问题?看起来pip中有一个bug。 我昨天使用brew安装了pip。在此之前,我已经安装了 大多数包含$ python setup.py install

的python包
steves-MacBook-Pro:server steve$ pip -V
pip 1.4.1 from /Library/Python/2.7/site-packages/pip-1.4.1-py2.7.egg (python 2.7)
steves-MacBook-Pro:server steve$ pip list
altgraph (0.9)
bdist-mpkg (0.4.4)
... 
...(a bunch of python packages omitted here for brevity)
...
...
requests (2.0.0)
Exception:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip-1.4.1-py2.7.egg/pip/basecommand.py", line 134, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip-1.4.1-py2.7.egg/pip/commands/list.py", line 80, in run
    self.run_listing(options)
  File "/Library/Python/2.7/site-packages/pip-1.4.1-py2.7.egg/pip/commands/list.py", line 127, in run_listing
    self.output_package_listing(installed_packages)
  File "/Library/Python/2.7/site-packages/pip-1.4.1-py2.7.egg/pip/commands/list.py", line 136, in output_package_listing
    if dist_is_editable(dist):
  File "/Library/Python/2.7/site-packages/pip-1.4.1-py2.7.egg/pip/util.py", line 347, in dist_is_editable
    req = FrozenRequirement.from_dist(dist, [])
  File "/Library/Python/2.7/site-packages/pip-1.4.1-py2.7.egg/pip/__init__.py", line 194, in from_dist
    assert len(specs) == 1 and specs[0][0] == '=='
AssertionError

2 个答案:

答案 0 :(得分:3)

这可能是由旧版本的pip造成的。

确保您的setuptools和pip是最新的:

sudo pip install --upgrade setuptools
sudo pip install --upgrade pip

答案 1 :(得分:3)

使用现代Ubuntu,我遇到了同样的问题,并且能够使用this comment中的说明修复它。

根据我的理解,问题是Ubuntu提供的pip是旧的,也无法自行更新(因为它由apt管理,而不是pip)。一种解决方案是删除Ubuntu版本的pip并安装最新版本。

简而言之:

sudo apt-get remove python-pip
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

这会将pip安装到/ usr / local / bin,因此您需要将其添加到路径中。