博主最近在学习写爬虫,需要下载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)。
相同的方法,在python安装目录下进入.\Lib\site-packages子目录,新建一个名为sitecustomize.py的文件(这个文件在python运行时会被自动加载)。并在其中写下:
import sys
reload(sys)
sys.setdefaultencoding('gbk')
意思是将默认的编码方式改为gbk格式(windows下的默认编码方式)再次检查一下:
再次运行pip install *,即可发现可以正常安装了。