1. 程式人生 > >【Python】使用pip install時出現UnicodeDecodeError錯誤解決方法

【Python】使用pip install時出現UnicodeDecodeError錯誤解決方法

今天在公司的win7 電腦上在配置好Python並安裝上pip後,打算用pip安裝一些常用包。但是安裝包的時候出現了錯誤,是在之前電腦上都沒有出現的。然後網上查詢知道了原因。是編碼問題

看最後的報錯資訊,這個一般都是從開始追溯資訊源:

UnicodeDecodeError:‘ascii’codec can’t  decode byte 0xe9 inposition 7: ordinal not in range

'UnicodeDecodeError'這個詞已經暴露了這個問題是個編碼問題

問題出現原因pip把下載的臨時檔案存放在了使用者臨時檔案中這個目錄一般是C:\Users\使用者名稱\AppData\Local\Temp,目錄名中有中文,顯然ascii這種編碼是不支援的

公司電腦的使用者名稱是中文的,我自己電腦是administrator。因此之前沒有發現這個問題

解決辦法:

然後在網上找的了下面的解決辦法,對比試過幾個方法後,選擇下面的簡單推薦給大家。親測有效

1)python目錄 Python27\Lib\site-packages (我自己的目錄地址 D:\Python27\Lib\site-packages)

2)建一個檔案sitecustomize.py 
    3)內容寫: 
      import sys 
      sys.setdefaultencoding('gb2312') 
      python會自動執行這個檔案。然後輸入下載安裝命令就可以了。


然後就可以正常使用pip下載了

如果還是不行,或者過了一段時間又不行了,就像我,一個月後再使用還是報錯,之前的sitecustomize.py 內容變了,替換為原來的也不行。這個時候找到了第2個方法

1、進入到 “XXX\Python27\Lib”

2.找到 “mimetypes.py”

3.貼上如下程式碼在 import sys 下,儲存

4、再次執行 pip install就可以成功的安裝類庫啦


if sys.getdefaultencoding() != 'GBK':   
 reload(sys)   
 sys.setdefaultencoding('GBK')