Питон: -мно-цигвин - PullRequest
       12

Питон: -мно-цигвин

7 голосов
/ 10 марта 2012

Я пытаюсь изучить много Python на Windows, и это включает в себя установку нескольких пакетов, однако каждый раз, когда я запускаю установку Python setup.py, у меня возникает проблема с -mno -cygwin для gcc.

Я уже прочитал много статей, и, похоже, они хотят, чтобы эти отдельные пакеты ожидали исправления в своих сборках.

Может ли кто-нибудь просто предоставить мне версию gcc, которую я могу установить, которая все еще поддерживает -mno -cygwin, чтобы я мог продолжить изучение областей, на которых я хотел бы сосредоточиться?

спасибо!

Ответы [ 2 ]

18 голосов
/ 10 марта 2012

У меня тоже была эта проблема, и это ошибка в коде Python. Единственный способ исправить это - отредактировать файл C:\Python27\Lib\distutils\cygwinccompiler.py.

В этом файле вы должны удалить все вхождения -mno-cygwin.

То же самое касается GCC, установленного через MinGW.

1 голос
/ 24 января 2014

У меня была та же проблема, которая была исправлена ​​путем замены экземпляров строки "-mno-cygwin" на "" в 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.

...