Настройка параметров компилятора Distutils

Возможно глупый вопрос, но мне было интересно, откуда дистрибутивы Python получают параметры компилятора? Это неправильно связывает некоторые связанные каталоги, и я хочу исправить это раз и навсегда.

Я знаю, что должен быть префикс /lib/pythonver/distutils/distutils.cfg, но я не могу найти где-либо на компьютере distutils.cfg. Очевидно, что у меня нет локального setup.cfg или $HOME/.pydistutils.cfg.

Я использую 64-битный дистрибутив Enthought версии 7.3 (Python 2.7) в Mac OS X 10.8.3

Ура, У.

2 ответа

Решение

Я на самом деле экспортирую их в среду, как и в случае с настройками autotools:

export CC=/usr/local/bin/clang
export CFLAGS=-I${HOME}/include
export LDFLAGS=-lboost

Если вам также необходимо переопределить компоновщик отдельно:

export LDSHARED=/usr/local/bin/clang -shared

И если вам не нравится exportВ настройках вашей среды сделайте что-то подобное для разовой настройки:

CC=/usr/local/bin/clang CFLAGS=-I${HOME}/include python setup.py build

Если вы хотите узнать, какие параметры были по умолчанию при сборке Python, используйте python-config --<flag>, Некоторые флаги cflags, ldflags, libs или же includes,

Опции компилятора взяты из Makefile CPython. IOW они такие же, как те, которые использовались для компиляции Python. Вы можете переопределить большинство из них в командной строке, как описано в Evert.

Глобальный distutils.cfg - это то, что может создать системный администратор для установки параметров по умолчанию, а не файл, который устанавливается вместе с Python.

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