我已经尝试了所有给出的内容,并且教程都指向了使用mingw作为python中的编译器而不是visual c ++的相同方向。
我确实有视觉c ++和mingw两者。当我想使用pip安装时问题就开始了。它总是给Unable to find vcvarsall.bat
根据建议,我在以下路径distutils.cfg
下创建了一个文件c:/python27/Lib/distutils/
,并添加了以下两行:
[build]
compiler=mingw32
但是,此文件无效。使用pip时仍然存在相同的错误。我正在尝试按目前的方式安装numpy,尽管错误也是先前发生的。
答案 0 :(得分:2)
花费我几个小时来计算出来,但现在就像一个魅力。 我在Windows 64bit上使用科学的Python发行版Enthought Canopy。
确保您已安装MinGW和您需要的编译器(C,C ++,Fortran ..)
在环境变量
C:\MingW\bin
添加到PATH
在C:\Users\MyName\AppData\Local\Enthought\Canopy32\App\appdata\canopy-1.6.2.3262.win-x86\Lib\distutils
中,使用记事本++创建或类似新文件distutils.cfg
编写并保存:
[build]
compiler = mingw32
[build_ext]
compiler = mingw32
答案 1 :(得分:0)
困难解决方案(使用C / C ++编译器构建)
您使用的是Windows 32位还是64位?您在编译时是否指定了构建?例如,在shell或bash中执行以下操作:
python setup.py build --compiler==mingw32
python setup.py install
更简单的解决方案(使用预建的二进制文件)
如果您不必编译程序,可以使用here中的非官方Windows二进制文件
答案 2 :(得分:0)
您是否恰好使用virtualenv
?
无论如何,请使用Microsoft Visual C++ Compiler for Python 2.7
还有一个较新的setuptools
。与virtualenv(3.6)捆绑在一起的那个不支持这个编译器。
pip install "setuptools>=6.0"
致谢:http://blog.ionelmc.ro/2014/12/21/compiling-python-extensions-on-windows/