pip3列表来自AssertionError

时间:2015-05-29 22:38:22

标签: python python-2.7 python-3.x pip

当我在终端中执行pip3 list时,会出现以下错误:

cliu@cliu-ubuntu:~$ pip3 list
Exception:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/usr/lib/python3/dist-packages/pip/commands/list.py", line 80, in run
    self.run_listing(options)
  File "/usr/lib/python3/dist-packages/pip/commands/list.py", line 142, in run_listing
    self.output_package_listing(installed_packages)
  File "/usr/lib/python3/dist-packages/pip/commands/list.py", line 151, in output_package_listing
    if dist_is_editable(dist):
  File "/usr/lib/python3/dist-packages/pip/util.py", line 367, in dist_is_editable
    req = FrozenRequirement.from_dist(dist, [])
  File "/usr/lib/python3/dist-packages/pip/__init__.py", line 299, in from_dist
    assert len(specs) == 1 and specs[0][0] == '=='
AssertionError

Storing debug log for failure in /home/cliu/.pip/pip.log 

任何人都知道如何解决这个问题?

4 个答案:

答案 0 :(得分:4)

根据评论中链接的错误判断,可以通过升级到最新的Pip来解决。由于在Ubuntu / Debian的包装系统中这样做是非常重要的,我认为将新版本的Pip安装到Virtualenv可能更简单。一旦你创建了virtualenv,你就可以使用这个命令升级到最新的Pip:

pip install --upgrade pip

答案 1 :(得分:2)

虽然这里有一个公认的答案,但这对我不起作用。所以,我的回答可能会帮助那些面临同样问题的人。 这个错误在这里通过单行提交修复。

https://github.com/pypa/pip/commit/6cab71f422f2425b4d2283023c9e955f9663dde6

解决方案是从

更改行
assert len(specs) == 1 and specs[0][0] == '=='

assert len(specs) == 1 and specs[0][0] in ["==", "==="]

行号因版本而异,但调试消息应该更容易找到。在您的情况下,line 299位于文件"/usr/lib/python3/dist-packages/pip/__init__.py"

答案 2 :(得分:0)

奇怪的是,我遇到了同样的问题,但是第一个解决方案对我来说并不起作用(我再次彻底清除它后得到了同样的错误)。所以我决定编辑该行。

assert len(specs) == 1 and specs[0][0] == '=='

并删除:

 == '=='

有趣,但它现在有效。

答案 3 :(得分:0)

我通过评论有问题的assert语句来解决这个问题:

# assert len(specs) == 1 and specs[0][0] == '=='

这绝对不是一个理想的解决方案,因为这个陈述可能有充分的理由,但pip3 list现在可以正常工作,就像我使用的pip3的所有其他部分一样。

相关问题