錯誤提示出現某個字節不能使用ascii或者utf8解析
原因:安裝的文件包含一些字符不能使用ascii或者utf8編碼解讀,一般是這些文件可能包含中文,比如用gbk編碼方式保存這些中文然而,python 2.x 默認的字符編碼爲:ascii.因此出現問題。
解決:
如果出現編碼問題,怎麼設置編碼,百度可能會告訴你,使用:
# coding=<encoding name>
比如:# coding=utf-8
或者
# -*- coding: <encoding name> -*-
比如:# -*- coding: utf-8 -*-
但是,對於解決當前問題,這是胡扯,因爲這是別人寫的源代碼,我還要跑去修改別人的代碼嗎?而且這些代碼是緩存文件,出錯後會刪除。
這裏主要涉及默認編碼問題。
好了,你又百度如何設置默認編碼,百度娘說:
查看當前默認編碼:
>>import sys
>>sys.getdefaultencoding()
設置編碼:
>>import sys
>>sys.setdefaultencoding('utf-8')
的確,默認編碼改變了,但是現在如果在控制檯執行命令pip install ***
依然存在問題,原因是,默認編碼的確改變,但是隻對當前的環境有效,使用cmd執行命令會執行新的環境,默認編碼又變回了ascii.
另外種思路,如果能夠在執行cmd命令執行前,就執行
sys.setdefaultencoding('utf-8')
這樣命令,不就行了。
python的確在系統啓動時,會調用Lib\site-packages\sitecustomize.py
於是解決方案出來啦:
在Lib\site-packages\sitecustomize.py編寫設置默認編碼的代碼
一般:Lib\site-packages\sitecustomize.py會不存在,需要手動創建
需要設置不同默認編碼,把gbk改爲其他編碼就行
Lib\site-packages\sitecustomize.py的內容如下
# encoding=utf8
import sys
reload(sys)
sys.setdefaultencoding('gbk')
測試:
cmd輸入指令:
python
>>import sys
>>sys.getdefaultencoding()
顯示的是你默認的編碼
現在pip install spyder解決了編碼問題