6

我已经尝试了给出的所有内容,并且教程都指向相同的方向,即在 python 中使用 mingw 作为编译器而不是 Visual c++。

我确实有visual c++和mingw。当我想使用 pip 安装时,问题开始出现。它总是给Unable to find vcvarsall.bat

因此,根据建议,我在distutils.cfg以下路径下创建了一个文件c:/python27/Lib/distutils/并添加了以下两行:

[build]
compiler=mingw32

但是,该文件没有任何作用。使用 pip 时仍然存在相同的错误。我正在尝试按目前的方式安装numpy,尽管错误也更早出现。

4

3 回答 3

2

花了我几个小时来解决这个问题,但现在就像一个魅力。我在 Windows 64bit 上并使用科学的 Python 发行版 Enthought Canopy。

  1. 确保您已安装 MinGW 和所需的编译器(C、C++、Fortran ..)

  2. 在环境变量中添加C:\MingW\bin到您的 PATH

  3. 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
于 2016-04-08T23:42:11.963 回答
0

困难的解决方案(使用 C/C++ 编译器构建)

你是在 Windows 32 位还是 64 位?您是否在编译时指定构建?例如,在 shell 或 bash 中执行以下操作:

python setup.py build --compiler==mingw32
python setup.py install

更简单的解决方案(使用预构建的二进制文件)

如果您不必编译程序,您可以使用此处的非官方 Windows 二进制文件

于 2014-02-16T17:37:45.350 回答
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/

于 2015-02-05T09:31:36.860 回答