68

我配置了 MinGW 和 distutils,所以现在我可以使用以下命令编译扩展:

setup.py install

将使用 MinGW 的 gcc 编译器并安装软件包。为此,我安装了 MinGW 并创建了具有以下内容的distutils.cfg文件:

[build]
compiler = mingw32

这很酷,但现在我想使用所有点子好处。有没有办法在 pip 中使用相同的 MinGW 的 gcc 编译器?所以当我运行这个时:

pip install <package name>

pip 将使用 MinGW 的 gcc 编译器并在需要时编译 C 代码?

目前我收到此错误:Unable to find vcvarsall.bat. 似乎 pip 不知道我有 gcc 编译器。如何配置 pip 以使用 gcc 编译器?

4

2 回答 2

106
  • 安装 MinGW 并选中 C++ 编译器选项
  • 添加C:\MinGW\bin到您的 PATH
  • 在 中PYTHONPATH\Lib\distutils,创建一个文件distutils.cfg并添加以下行:
[build]
compiler=mingw32
于 2011-02-19T14:25:10.533 回答
22

尽管配置文件解决了这个问题,但它并不总是一种选择。我的命令行安装过程遇到了同样的问题,我无法更改所有机器和 python 发行版上的配置文件。

这是我的解决方案:

对于默认使用 VC++ 的mingw32和包:

pip install --global-option build_ext --global-option --compiler=mingw32 <package_zip>

对于WinPython 上的Visual C++,默认使用 mingw32:

pip install --global-option build_ext --global-option --compiler=msvc <package_zip>
于 2015-11-09T21:21:38.640 回答