今天在win 10下安装scrapy时遇到了点麻烦。
首先pip版本:
pip 9.0.1 from c:\users\dell\appdata\local\programs\python\python36\lib\site-packages (python 3.6)
执行pip install scrapy
遇到错误:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd5 in position 2: invalid continuation byte
GitHub上很多相关issue,指出这是pip的锅,pip10版本会修复。
一个临时解决的办法:找到C:\Users\dell\AppData\Local\Programs\Python\Python36\Lib\site-packages\pip\compat\__init_.py
文件,找到这段代码:
if sys.version_info >= (3,):
def console_to_str(s):
try:
return s.decode(sys.__stdout__.encoding)
except UnicodeDecodeError:
return s.decode('utf-8')
def native_str(s, replace=False):
if isinstance(s, bytes):
return s.decode('utf-8', 'replace' if replace else 'strict')
return s
把其中return s.decode('utf-8')
替换成return s.decode('gbk')
就解决问题了。
网友评论