2017-03-27 23 views
4

嘗試安裝pip,virtualenv時會發生以下錯誤。如何解決在python 2.7中使用pip的HashMissing?

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

回答

-2

在Python 2.7中沒有這樣的類'HashMissing',所以你得到這個錯誤。

爲什麼不只是import pip.exceptions'原樣'?

+2

這是從原來的帖子不清楚(我的編輯仍在等待),但導入發生在不在用戶控制下的代碼,所以他們不能簡單地改變導入行。 – Fabian

0

我有過類似的問題。在我的情況下,它是在系統升級並根據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版本)。