【发布时间】:2011-12-28 01:05:53
【问题描述】:
我正在尝试安装一个包含 C 模块的 Python 模块。 C 代码依赖于系统全局安装位置(/usr/include、/usr/lib)中可用的库,但在我的情况下,我只有该库的本地安装可用。因此,我想在调用“setup.py build”时传递参数(例如,--incdir、--libdir),以便这些值最终出现在设置脚本中。
有没有办法做到这一点?
【问题讨论】:
标签: python setuptools distutils
我正在尝试安装一个包含 C 模块的 Python 模块。 C 代码依赖于系统全局安装位置(/usr/include、/usr/lib)中可用的库,但在我的情况下,我只有该库的本地安装可用。因此,我想在调用“setup.py build”时传递参数(例如,--incdir、--libdir),以便这些值最终出现在设置脚本中。
有没有办法做到这一点?
【问题讨论】:
标签: python setuptools distutils
我发现前置
CFLAGS="-I<local include dir>" LDFLAGS="-L<local lib dir>"
调用 setup.py 时到命令行就可以了。
【讨论】:
python setup.py build_ext --help,或将它们添加到setup.py Extension,参见Distutil API Reference。将它们放入setup.cfg,另见Install Python Modules。不知道“调整编译器/链接器标志”部分在说什么。
distutils.sysconfig.customize_compiler() 中的所有其他选项也是如此