Jas*_*ker 14 python setuptools cython python-c-extension
我已经创建了一个C扩展,我想在我的Python包中启用(使用setuptools),只有传入命令行选项.最简单的方法是什么?
我似乎无法找到任何直截了当的方式来解决这个问题.
Eli*_*ins 14
实际上有一个名为"Features"的分发/设置工具功能可用于此目的.在此基础上进行了明确设计有setup.py做不同的事情--with-xxx和--without-xxx命令行选项.
ext_modules = []
if '--add-this' in sys.argv:
ext_modules.append(Extension(...))
sys.argv.remove('--add-this')
setup(...
ext_modules = ext_modules
)
Run Code Online (Sandbox Code Playgroud)
这很麻烦,但可能是最简单的。更高级的方法是扩展 Distribution 类以支持标志,--with-modules然后在 Finalize_options 中自定义 ext_modules。