7

也许是一个愚蠢的问题,但我想知道 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)

干杯,U。

4

2 回答 2

7

我实际上将它们导出到环境中,就像 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>. 一些标志是cflagsldflagslibsincludes

于 2013-04-18T08:51:20.650 回答
3

编译器选项取自 CPython 的 Makefile。IOW 它们与用于编译 Python 的相同。如 Evert 所述,您可以在命令行上覆盖其中的大多数。

全局 distutils.cfg 是系统管理员可以创建以设置默认选项的东西,而不是随 Python 一起安装的文件。

于 2013-04-18T16:36:42.050 回答