Command "c:\users\administrator\appdata\local\programs\python\python37\python.ex
e -u -c "import setuptools, tokenize;__file__='C:\\Users\\ADMINI~1\\AppData\\Loc
al\\Temp\\pip-install-vh60hcon\\Twisted\\setup.py';f=getattr(tokenize, 'open', o
pen)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code,
__file__, 'exec'))" install --record C:\Users\ADMINI~1\AppData\Local\Temp\pip-re
cord-qdvf1b6y\install-record.txt --single-version-externally-managed --compile"
failed with error code 1 in C:\Users\ADMINI~1\AppData\Local\Temp\pip-install-vh6
0hcon\Twisted\
關(guān)鍵詞是:failed with error code 1
可能的原因:
- pip版本過(guò)低
- 未安裝wheel模塊。雖說(shuō)wheel模塊在安裝scrapy時(shí)應(yīng)該會(huì)被自動(dòng)安裝。
- 要安裝的模塊不支持當(dāng)前python版本。這個(gè)問(wèn)題在python3上尤為明顯。(scrapy就是不能完美支持3)
- 電腦的名稱(chēng)含有中文或其他稀奇古怪的非字母、數(shù)字的字符。
- 電腦虛擬內(nèi)存不足。這條有點(diǎn)扯,但是我百度的時(shí)候還有不少人提到這一點(diǎn),也不知道是不是轉(zhuǎn)載的同一人的結(jié)論。
要解決它,最簡(jiǎn)單的莫過(guò)于別用Windows了,用Linux去。當(dāng)然,也Windows下的python3也不是不能用這些第三方模塊,只不過(guò)需要自己手動(dòng)安裝這些模塊,而不要使用pip了。缺點(diǎn)是,很多情況下搞不清包與包之間的依賴(lài),經(jīng)常會(huì)漏包。
對(duì)于winx下python3.6安裝scrapy,我又仔細(xì)看了看錯(cuò)誤代碼,確定是安裝twisted時(shí)出了問(wèn)題。經(jīng)過(guò)網(wǎng)上搜索,找到了一個(gè)解決方案(轉(zhuǎn)自http://blog.csdn.net/nima1994):
首先從http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 下載twisted對(duì)應(yīng)版本的whl文件(如我的Twisted?17.5.0?cp36?cp36m?win_amd64.whl),cp后面是Python版本,amd64代表64位,運(yùn)行命令:
pip install D:\TDownloads\Twisted-17.5.0-cp36-cp36m-win_amd64.whl
其中install后面為完整路徑名
安裝完成后,再次運(yùn)行:
pip install Scrapy
即可成功。