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

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

setup.py install

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

[build]
compiler = mingw32

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

pip install <package name>

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

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

Ответ 1

  • установите MinGW с опцией C++ Compiler
  • добавьте C:\MinGW\bin в вашу PATH
  • в PYTHONPATH\Lib\distutils создайте файл distutils.cfg и добавьте следующие строки:
[build]
compiler=mingw32

Ответ 2

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

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

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

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

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

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

Ответ 3

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