【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')