Настройка параметров компилятора 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.