首页 文章

为什么PIP会在pip冻结时引发AssertionError?

提问于
浏览
38

我的控制台:

desarrollador @ desarrollador-HP-14-Notebook-PC1:〜$ pip freeze Exception:Traceback(最近一次调用最后一次):文件“/usr/lib/python2.7/dist-packages/pip/basecommand.py”,行126,在main self.run(options,args)文件“/usr/lib/python2.7/dist-packages/pip/commands/freeze.py”,第68行,在run req = pip.FrozenRequirement.from_dist(dist ,dependency_links,find_tags = find_tags)文件“/usr/lib/python2.7/dist-packages/pip/init.py”,第156行,in_dist断言len(specs)== 1和specs [0] [0] =='=='AssertionError

我安装了龙卷风包,从那以后就发生了 . 我该如何解决?

7 回答

  • 3

    这对我有用(运行Ubuntu,12和14 LTS):

    pip install -U setuptools
    pip install -U pip
    

    升级到最新版本的setuptools以便能够升级到最新版本的pip,并升级到最新版本的pip以获得修复了AssertException错误的版本 .

  • 36

    原因:Ubuntu 12.04中的python-pip包严重过时,并且某些包名称存在一些错误(我可以看到)并且无法正确解析它们 .

    解决方案:通过easy_install安装更新版本的pip .

  • 15

    你的点子可能已经过时了 . 即使在Ubuntu 14.04 LTS中,使用 apt-get install python-pip 安装的pip版本为1.5.4 . 尝试手动更新pip,也可以再次更新新包 .

    pip --version # 1.5.4
    curl -O https://bootstrap.pypa.io/get-pip.py
    sudo python get-pip.py
    pip --version # 6.0.8
    hash -r # reset bash cache
    

    https://pip.pypa.io/en/latest/installing.html

  • 18

    我在this link找到了解决方案 .

    pip install setuptools==7.0

  • 8

    首先,我运行了Martin Mohan的解决方案:

    /usr/local/bin/pip uninstall pip
    apt-get remove python-pip
    apt-get install python-pip
    

    然后,boredcoding最终修复了问题,两个解决方案都在线程底部找到:I screwed up the system version of Python Pip on Ubuntu 12.10

    $apt-get install python-pip
    $which pip
    /usr/bin/pip
    
    $pip install -U pip
    $which pip
    /usr/bin/pip
    
    $hash -r
    $which pip
    /usr/local/bin/pip
    

    这两个修复背后的逻辑在线程(上面链接)中说明,所以我将不再进入每个 .

  • 4

    可能有点晚了,但我发现有一件事是安装了2或3个版本的pip(取决于你安装的是什么)

    pip - 安装的操作系统版本,冻结不起作用,它可以是过时的pip2 - 安装较新的pip,但通过pip升级pip等pip3 - 如果你同时安装了python3和python2,则安装 .

    你可以改变在$ PATH中使用哪个pip,或者做我做的事情:

    pip2 freeze (如果你有多个python选项,它可以在ubuntu14上工作)

  • 2

    问题是由于安装了旧版本的 pip . 运行以下命令以安装 pip 的新版本:

    sudo easy_install -U pip.
    

相关问题