博主最近在學習寫爬蟲,需要下載scrapy。可是先是解決了缺少VC++9.0問題之後,又總是報出UnicodeError問題。報錯信息如下:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xba in position 7: invalid start byte
經過一番查證發現是,在python安裝時系統默認編碼爲'ascii'。然而,ascii不能編碼中文。如果不知道python默認編碼是什麼,可以在python交互解釋器中輸入以下內容來獲取信息:
>>> import sys >>> sys.getdefaultencoding()
運行結果如下,證明目前python的默認編碼格式爲ascii
經過一番查證,是因爲博主的用戶家目錄名爲中文,而ascii沒有中文編碼。需要將編碼修改爲gbk(不能是utf-8)。
P.S.多虧了這位博主 http://shirley-ren.iteye.com/blog/1018750
相同的方法,在python安裝目錄下進入.\Lib\site-packages子目錄,新建一個名爲sitecustomize.py的文件(這個文件在python運行時會被自動加載)。並在其中寫下:
import sys reload(sys) sys.setdefaultencoding('gbk')
意思是將默認的編碼方式改爲gbk格式(windows下的默認編碼方式)再次檢查一下:
再次運行pip install scrapy,即可發現可以正常安裝了。