Как использовать компилятор gcc MinGW при установке пакета Python с использованием Pip? - PullRequest
59 голосов
/ 21 июля 2010

Я настроил MinGW и distutils, чтобы теперь я мог компилировать расширения с помощью этой команды:

setup.py install

Будет использован компилятор gcc MinGW и будет установлен пакет. Для этого я установил MinGW и создал файл distutils.cfg со следующим содержимым:

[build]
compiler = mingw32

Это круто, но теперь я бы хотел использовать все бонусы. Есть ли способ использовать тот же компилятор gcc MinGW в pip? Так что когда я запускаю это:

pip install <package name>

pip будет использовать gcc-компилятор MinGW и скомпилировать код C при необходимости?

В настоящее время я получаю эту ошибку: Unable to find vcvarsall.bat. Кажется, Пип не знает, что у меня есть компилятор gcc. Как я могу настроить pip для использования компилятора gcc?

Ответы [ 3 ]

90 голосов
/ 19 февраля 2011
  • установить MinGW с опцией компилятора C ++
  • добавить C:\MinGW\bin к вашей PATH
  • в PYTHONPATH\Lib\distutils, создайте файл distutils.cfg и добавьте следующие строки:
[build]
compiler=mingw32
15 голосов
/ 10 ноября 2015

Несмотря на то, что файл конфигурации решает эту проблему, это не всегда вариант. У меня возникла та же проблема в процессе установки из командной строки, и я не смог изменить файлы конфигурации на всех компьютерах и в дистрибутивах Python.

Это мое решение:

Для mingw32 и пакетов, которые по умолчанию используют VC ++:

pip install --global-option build_ext --global-option --compiler=mingw32 <package_zip>

Для Visual C ++ на WinPython, который по умолчанию использует mingw32:

pip install --global-option build_ext --global-option --compiler=msvc <package_zip>
4 голосов
/ 05 января 2011

Может быть, вы не поместили distutils.cfg в нужное место? Я решил ту же проблему, создав файл pydistutils.cfg внутри c: \ Documents and Settings \ myuser, с тем же содержимым, что и у вас. Я так и сделал, и это работает. НТН

...