这个问题已经被问过和回答过几次了,但是你会发现以前的答案对我都不起作用——我觉得有些东西已经改变了,使得所有的旧答案都过时了。或者至少,我处于某种边缘状态:
在Windows7上,我安装了MinGW32和Python2.7(32位版本)(我也在Python2.6上尝试过,得到了相同的结果)。
路径环境变量设置正确。
我编辑了cygwincompiler.py
以删除-mno-cygwin
的引用。我已经把正确的distutils.cfg
文件放入C:\Python27\Lib\distutils
。
为了清楚起见:distutils.cfg
在两行上包含[build] compiler=mingw32
。
我还(为了安全起见)将pydistutils.cfg
放在%HOME%
目录中。运行pip
时,将setup.cfg
放入当前目录。它们的内容与distutils.cfg
相同。
我知道这一切都在起作用,因为pip install cython
和pip install pycrypto
都成功编译。
然而,奇怪的是,一些包仍然会给我unable to find vcvarsall.bat
错误。两个例子是:pyproj和numpy。
好像有时候pip
知道使用MinGW编译器,有时候却不知道?
此外,如果我使用MinGW附带的MSYS shell,那么pip install numpy
就神奇地成功了。但是pip install pyproj
仍然会失败。
我在几台机器上都试过了,结果完全一样。
有人知道这是怎么回事吗?为什么pip
知道使用mingw32编译一些c模块而不是其他模块?另外,为什么pip install numpy
在MSYS shell中工作,而不是在cmd shell中?
另外:许多老的答案建议安装Visual Studio 2008作为解决vcvarsall.bat
错误的一种方法。但截至今年5月,微软已不再发布该软件。有人知道还有一个地方可以下载VS2008吗?我这么问是因为用vcvarsall.bat
代替MinGW可能会解决这个问题。
目前没有回答
相关问题 更多 >
编程相关推荐