使用Pip安装Python包时如何使用MinGW的gcc编译器?

时间:2010-07-21 07:56:07

标签: python windows mingw pip distutils

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

setup.py install

将使用MinGW的gcc编译器并安装包。为此我安装了MinGW和created 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编译器?

3 个答案:

答案 0 :(得分:90)

  • 安装MinGW并选中C ++编译器选项
  • C:\MinGW\bin添加到您的路径
  • PYTHONPATH\Lib\distutils中,创建一个文件distutils.cfg并添加以下行:

[build] compiler=mingw32

答案 1 :(得分:15)

即使配置文件解决了这个问题,但它并不总是一个选项。我的命令行安装过程遇到了同样的问题,我无法在所有机器和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>

答案 2 :(得分:4)

也许你没有把distutils.cfg放在正确的位置?我解决了在c:\ Documents and Settings \ myuser中创建名为pydistutils.cfg的文件时遇到的相同问题,其内容与您的内容相同。我这样做了,它的确有效。 HTH