Как использовать компилятор gcc MinGW при установке пакета Python с использованием Pip?

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

setup.py install

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

[build]
compiler = mingw32

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

pip install <package name>

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

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

3 ответа

  • установите MinGW с опцией C++ Compiler
  • добавлять C:\MinGW\bin в ваш путь
  • в PYTHONPATH\Lib\distutilsсоздать файл distutils.cfg и добавьте эти строки:

[build] compiler=mingw32

Хотя файл конфигурации решает эту проблему, это не всегда вариант. У меня возникла та же проблема в процессе установки из командной строки, и я не смог изменить файлы конфигурации на всех компьютерах и в дистрибутивах 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>

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

Другие вопросы по тегам