我配置了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编译器?
答案 0 :(得分:90)
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