错误:命令'gcc'以状态1退出
我在64位的Windows 7上安装了Scrapy。当我在命令提示符(CMD)里输入 scrapy startproject tutorial
时,出现了一个错误:
ImportError: No module named `cryptography.hazmat.bindings.openssl.binding`
为了解决这个问题,我想安装pycrypto。当我运行 pip install pycrypto
时,又出现了一个错误:_无法找到
vcvarsall.bat_
。因为我已经安装了Visual Studio 2010。为了解决这个问题,我安装了mingw32,并设置了环境变量,还关闭了我的杀毒软件,并从 cygwinccompiler.py
中移除了 -mno-cygwin
:
if self.gcc_version < '4' or is_cygwingcc():
no_cygwin = ''
else:
no_cygwin = ' -mno-cygwin'
变成了:
if self.gcc_version < '4' or is_cygwingcc():
no_cygwin = ''
else:
no_cygwin = ''
现在我又遇到了一个错误:
error command 'gcc' failed with exit status 1
(我安装的是64位的Python 2.7)
请给我一些指导。
1 个回答
0
最简单的方法就是直接从 http://www.voidspace.org.uk/python/modules.shtml#pycrypto 下载已经编译好的版本。
然后你可以慢慢尝试重新构建 PyCrypto 的 C 扩展:
- Visual Studio 自带一个 CMD 快捷方式,叫做
vcvarsall.bat
。你可以用这个快捷方式打开cmd.exe
,然后在里面运行pip install
。 - (另外一种方法)可以安装 cygwin,而不是 mingw,这样就不用修改 PyCrypto 的构建脚本了。
- PyCrypto 依赖于 GMP 或 MPIR 来处理大数。Cygwin 已经提供了这些的预编译版本。我相信也有一些基于 Mingw 的项目提供了 GMP 的预编译版本。
- 你需要获取 PyCrypto 依赖项的预编译二进制文件和头文件,或者自己手动构建它们。