如何在使用Pip安装Python包时使用MinGW的gcc编译器?
我配置了MinGW和distutils,现在我可以使用这个命令来编译扩展:
setup.py install
这时会使用MinGW的gcc编译器,并且包会被安装。为此,我安装了MinGW,并且创建了一个distutils.cfg文件,内容如下:
[build]
compiler = mingw32
这很不错,但我现在想要使用pip的所有好处。有没有办法在pip中使用同样的MinGW的gcc编译器?这样当我运行这个命令:
pip install <package name>
pip就会使用MinGW的gcc编译器,如果需要的话就编译C代码?
目前我遇到这个错误:Unable to find vcvarsall.bat
。看起来pip不知道我有gcc编译器。我该如何配置pip来使用gcc编译器呢?
2 个回答
23
虽然配置文件可以解决这个问题,但并不是总能使用。我在命令行安装过程中遇到了同样的问题,无法在所有机器和Python版本上更改配置文件。
这是我的解决办法:
对于mingw32和使用VC++作为默认的包:
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>
108
- 安装MinGW,并确保选择了C++编译器的选项
- 把
C:\MinGW\bin
添加到你的系统环境变量PATH中 - 在
PYTHONPATH\Lib\distutils
文件夹里,创建一个名为distutils.cfg
的文件,并添加以下内容:
[build]
compiler=mingw32