也许是一个愚蠢的问题,但我想知道Python的distutils从哪里获得编译器选项?它得到一些错误的链接目录,我想一劳永逸地纠正它。
我知道应该有一个前缀/ lib / pythonver / distutils / distutils.cfg但我在计算机上的任何地方都找不到任何distutils.cfg。显然我没有本地setup.cfg或任何$ HOME / .pydistutils.cfg。
我在Mac OS X 10.8.3上使用Enthought 64位发行版7.3(Python 2.7)
干杯, Ú
答案 0 :(得分:7)
我实际上将它们导出到环境中,就像autotools的configure:
一样export CC=/usr/local/bin/clang
export CFLAGS=-I${HOME}/include
export LDFLAGS=-lboost
如果您还需要单独覆盖链接器:
export LDSHARED=/usr/local/bin/clang -shared
如果您不喜欢{{1}设置环境,请执行以下设置:
export
如果你想知道构建python时默认选项是什么,请使用CC=/usr/local/bin/clang CFLAGS=-I${HOME}/include python setup.py build
。有些标记是python-config --<flag>
,cflags
,ldflags
或libs
。
答案 1 :(得分:3)
编译器选项取自CPython的Makefile。它们与用于编译Python的那些相同。您可以在Evert描述的命令行中覆盖它们中的大多数。
全局distutils.cfg是系统管理员可以创建来设置默认选项的东西,而不是随Python安装的文件。