安装scrapy模块时遇到的问题及解决方法(转)
由于自己电脑中的根目录有中文,导致很多模块安装存在问题,自己也上网查了一些方法做了调试,但最简单的安装模块的方法,便是下载好相应的文件,直接进行安装,具体的步骤如下:
1 这里我想要安装twisted模块,于是pip install twisted,很遗憾的是安装失败,后来看网上说的方法,应该适合py.2x的方法
我也试了一下
import sys
reload(sys)
sys.setdefaultencoding('gbk'),可是依然无用
2后来查到要更改__init__文件,也尝试过
编码问题。Python 3.x 默认utf_8,windows下显示依然是gbk。
改一下...\lib\site-packages\pip\compat\__init__.py
return s.decode('utf_8')
改为return s.decode('cp936')
立马解决。
3 我最后写下我自己解决这个问题的方法,是直接下载了twisted的whl文件,然后直接pip 安装
具体方法是将下载的文件放在\Python36\Scripts文件夹下,这个文件夹先找下,看你的电脑具体放在哪,然后cmd进控制台,cd 到\Python36\Scripts,
接着输入pip install Twisted-18.4.0-cp36-cp36m-win_amd64.whl,这里就安装好了,这个方法是一个通用的方法,我自己已经记载过2次了,这个方法,很实用。
4 (看到的一个方法)或许还有一个解决方法是修改自己的__init__方法,这个应该主要是针对py.3x的,我猜的,因为我自己用的3的版本,而且方法1的时候对我的问题对没有解决,瞎说的话,而且对2的不是很了解,好了,扯远了,直接说明原因。
Traceback (most recent call last):
File "d:\program files (x86)\python\python36\lib\site-packages\pip\basecommand.py", line 215, in main
status = self.run(options, args)
File "d:\program files (x86)\python\python36\lib\site-packages\pip\commands\install.py", line 342, in run
prefix=options.prefix_path,
File "d:\program files (x86)\python\python36\lib\site-packages\pip\req\req_set.py", line 784, in install
**kwargs
File "d:\program files (x86)\python\python36\lib\site-packages\pip\req\req_install.py", line 878, in install
spinner=spinner,
File "d:\program files (x86)\python\python36\lib\site-packages\pip\utils\__init__.py", line 676, in call_subprocess
line = console_to_str(proc.stdout.readline())
File "d:\program files (x86)\python\python36\lib\site-packages\pip\compat\__init__.py", line 75, in console_to_str
return s.decode('utf_8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 3: invalid continuation byte
从这里,我们看到错误定位于这里,打开__init__
修改方法:把73行的sys.__stdout__.encoding改为‘gbk’
好了,总结了上述4种方法,希望会对您解决这个问题有用,其中方法4是我自己使用的