啓動Anaconda時報錯

平時開發習慣使用Jupyter和VS Code,好久沒有啓動Anaconda了,今天啓動一下竟然報錯了: 「KeyError: 'pip._vendor.urllib3.contrib'」,詳細信息以下:python

緣由:Python虛擬機在啓動時會將加載到內存的模塊放到sys.modules中,在啓動anaconda時從sys.modules中獲取pip._vendor.urllib3.contrib的值獲取不到 解決辦法以下: 根據報錯信息找到:

「/home/mqz/anaconda3/lib/python3.6/site-packages/pip/\_vendor/requests/packages.py」
複製代碼

文件,找到對應的報錯語句:bash

「sys.modules['pip.\_vendor.requests.packages.' + mod] = sys.modules["pip._vendor." + mod]」
複製代碼

暫時不清楚爲何pip._vendor.urllib3.contrib沒有寫入到sys.modules中,但爲防止報錯,將報錯語句改成url

sys.modules['pip._vendor.requests.packages.' + mod] = sys.modules.get("pip._vendor." + mod,None)
複製代碼

,保存後啓動Anaconda,啓動成功 :Python在導入模塊時會先到sys.modules字典中查找,若是沒有再去sys.path中搜索,修改以上語句並不會影響在程序中使用import urllib3.contrib,在anaconda中下載模塊也沒有問題,會不會影響Anaconda其餘方面的使用暫時不清楚,待之後發現問題再解決spa

相關文章
相關標籤/搜索