win7下 pip install package 報錯解決辦法
阿新 • • 發佈:2019-01-25
首先我的python版本是2.7.6,沒有預設安裝pip,去官網瞅了一眼發現2.7.9和3.4及以上版本已經內建了pip,那還廢話什麼立馬去更新到2.7.9(請允許我吐槽公司網速!)
更新之後,在D:\Python27目錄下並沒有Scripts這個資料夾,什麼鬼!沒有就沒有吧,那我來手動安裝pip,具體過程不說了,balabala,裝好了,輸入pip -V可用,執行pip install package,結果如圖:
解決辦法,開啟D:\Python27\lib\mimetypes.py檔案,在254行附近加入兩行程式碼修改如下:
with _winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT, '' ) as hkcr:
for subkeyname in enum_types(hkcr):
try:
if '\0' in subkeyname: # new
continue # new
with _winreg.OpenKey(hkcr, subkeyname) as subkey:
# Only check file extensions
if not subkeyname.startswith("."):
continue
# raises EnvironmentError if no 'Content Type' value
mimetype, datatype = _winreg.QueryValueEx(
subkey, 'Content Type')
if datatype != _winreg.REG_SZ:
continue
try:
mimetype = mimetype.encode(default_encoding)
except UnicodeEncodeError:
continue
self.add_type(mimetype, subkeyname, strict)
except EnvironmentError:
continue
這樣再使用pip的時候就不會有問題了,這個問題實際上是因為HKEY_CLASSES_ROOT損壞的登錄檔項導致的,這可能是一個很好的解決方案,如果你不希望修改登錄檔的話,這個問題在python3.4版本中也可能存在。