安装scrapy框架报错是常见问题
还好,本人只碰到其中一个bug,以下是此次安装经验
环境
- py3.4
- windows7 64位
- 安装有VS2010
- pip包管理(pycharm)
报错信息
- 安装lxml过程中报错:
error: command 'D:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\BIN\\cl.exe' failed with exit status 2
- 原因:安装过程中调用VS2010的编译、连接相关功能报错,lxml包无法正常编译
解决方案
谷歌过后得知这是个常见报错。
*上提问的,提供解决方案的有很多,可自行尝试。
以下是本人尝试的几种方案:
-
我的解决方案
- 命令:
set STATICBUILD=true && pip install lxml
安装lxml包成功, 而后安装scrapy未再碰到问题。- 静态build,使用了网络上现成的二进制文件,绕过了调用VS编译的过程。
- 命令:
-
某爬虫技术专家提供的解决方案
- 找到编译器配置文件: C:\Python34\Lib\distutils\msvc9compiler.py
- 修改其中的代码
vc_env = query_vcvarsall(VERSION, plat_spec)
, 将VERSION替换对应为VS版本号,VS2010为10.0,VS2015为14.0 - 本人VS2010下使用无效,得到建议是安装VS2015专业版本,非社区版。
- 修改其中的代码
- 找到编译器配置文件: C:\Python34\Lib\distutils\msvc9compiler.py
-
其他方案
- 安装其他编译器代替VS,如minGW,但相关配置修改比较麻烦
- MS编译连接环境配置 https://msdn.microsoft.com/en-us/library/f2ccy3wt(v=vs.100).aspx
本人使用无效
- 微软为python2.7开发了一个编译器支持包,使用py2.7的同学可以下载安装:Microsoft Visual C++ Compiler for Python 2.7
- MS编译连接环境配置 https://msdn.microsoft.com/en-us/library/f2ccy3wt(v=vs.100).aspx
- 安装其他编译器代替VS,如minGW,但相关配置修改比较麻烦