我正在尝试在Windows上学习很多python,包括安装几个软件包,但是每次调用python setup.py install我都会遇到-mno -cygwin for gcc的问题。
我已经阅读了很多文章,似乎他们希望这些单独的软件包等待自己构建的修复程序。
任何人都可以给我一个我可以安装的gcc版本仍然支持-mno -cygwin所以我可以继续研究我想要关注的领域吗?
谢谢!
答案 0 :(得分:18)
我也有这个问题,这是Python代码中的一个错误。我发现修复它的唯一方法是编辑文件C:\Python27\Lib\distutils\cygwinccompiler.py
。
在此文件中,您必须删除-mno-cygwin
的每次出现。
通过MinGW安装的GCC也是如此。
答案 1 :(得分:1)
通过在C:\Python27\Lib\distutils\cygwinccompiler.py
即
原始代码:
self.set_executables(compiler='gcc -mno-cygwin -O -Wall',
compiler_so='gcc -mno-cygwin -mdll -O -Wall',
compiler_cxx='g++ -mno-cygwin -O -Wall',
linker_exe='gcc -mno-cygwin',
linker_so='%s -mno-cygwin %s %s'
% (self.linker_dll, shared_option,
entry_point))
更新的代码:
self.set_executables(compiler='gcc "" -O -Wall',
compiler_so='gcc "" -mdll -O -Wall',
compiler_cxx='g++ "" -O -Wall',
linker_exe='gcc ""',
linker_so='%s "" %s %s'
% (self.linker_dll, shared_option,
entry_point))
您使用的是什么版本的GCC编译器?如果使用GCC 3.4.4,则不会出现此问题,否则您需要将“-mno-cygwin”字符串替换为空引号,如上所述,特别是对于GCC 4.3.7。