【问题标题】:How to solve HashMissing using pip in python 2.7?如何在 python 2.7 中使用 pip 解决 HashMissing?
【发布时间】:2017-08-20 05:10:21
【问题描述】:

尝试安装pipvirtualenv时出现以下错误。

Traceback (most recent call last):   
      File "/usr/local/bin/pip", line 7, in <module>
        from pip import main 
      File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 63, in <module>
        from pip.commands import commands, get_summaries, get_similar_commands
      File "/usr/lib/python2.7/dist-packages/pip/commands/__init__.py", line 6, in <module>
        from pip.commands.bundle import BundleCommand  
      File "/usr/lib/python2.7/dist-packages/pip/commands/bundle.py", line 6, in <module>
        from pip.commands.install import InstallCommand   
      File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 5, in <module>
        from pip.req import InstallRequirement, RequirementSet, parse_requirements   
      File "/usr/lib/python2.7/dist-packages/pip/req/__init__.py", line 3, in <module>
        from .req_install import InstallRequirement  
      File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 42, in <module>
        from pip.utils.hashes import Hashes   
      File "/usr/lib/python2.7/dist-packages/pip/utils/hashes.py", line 5, in <module>
        from pip.exceptions import HashMismatch, HashMissing, InstallationError
    ImportError: cannot import name HashMissing

如何解决Hashmissing 错误?尝试通过HTTPSHandler link

【问题讨论】:

    标签: python-2.7 pip virtualenv


    【解决方案1】:

    我也遇到过类似的问题。就我而言,这是在系统升级并根据https://www.guyrutenberg.com/2012/05/30/fixing-virtualenv-after-upgrading-your-distributionpython/“修复”virtualenv 之后,即。再次运行virtualenv。正如我现在所看到的,这通过覆盖一些文件并造成混乱,合并了pipsetuptools 的两个版本。我的解决方案是手动从virtualenvsite-packages中删除pipsetuptools,然后运行virtualenv进行修复。

    VENV_DIR="<your venv dir>"
    rm -r "$VENV_DIR"/lib/python2.7/site-packages/{pip,setuptools} "$VENV_DIR"/lib/python2.7/site-packages/setuptools-* "$VENV_DIR"/lib/python2.7/site-packages/pip-*
    virtualenv "$VENV_DIR"
    source "$VENV_DIR"/bin/activate
    pip install -U pip setuptools
    

    在你的情况下不是virtualenv,但我认为原因是相似的(两个pip版本一个接一个)。

    【讨论】:

      【解决方案2】:

      下面的答案很好,有一个修复 - 必须使用 pip2:

      VENV_DIR="<your venv dir>"
      rm -r "$VENV_DIR"/lib/python2.7/site-packages/{pip,setuptools} "$VENV_DIR"/lib/python2.7/site-packages/setuptools-* "$VENV_DIR"/lib/python2.7/site-packages/pip-*
      virtualenv "$VENV_DIR"
      source "$VENV_DIR"/bin/activate
      pip2 install -U pip setuptools
      

      【讨论】:

        【解决方案3】:

        Python 2.7 中没有此类“HashMissing”,因此您会收到此错误。

        为什么不只是import pip.exceptions'原样'?

        【讨论】:

        • 原帖中并不清楚(我的编辑仍在等待中),但导入发生在不受用户控制的代码中,因此他们不能简单地更改导入行。
        猜你喜欢
        • 2014-04-14
        • 2019-03-28
        • 1970-01-01
        • 2018-03-15
        • 2011-10-19
        • 1970-01-01
        • 1970-01-01
        • 2019-06-13
        • 2014-02-22
        相关资源
        最近更新 更多