提问人:Nick Williams 提问时间:11/7/2023 更新时间:11/7/2023 访问量:30
使用 pyproject.toml / PEP 518 时,如何告诉 setuptools 为 --debug 构建扩展
How do you tell setuptools to build an extension for --debug when using pyproject.toml / PEP 518
问:
我使用(PEP 518、PEP 517、PEP 621、PEP 660 等)创建了一个带有 C++ 扩展的 Python 项目。我相信我可以做得更好,但总的来说,它工作得很好。pyproject.toml
在典型情况下,此项目将在没有 C++ 调试符号的情况下构建,这是 Setuptools 的默认设置,并且按我的预期工作。但是,出于故障排除目的,我想记录使用调试符号构建项目的过程。即使没有专门附加调试器,调试符号也有助于诊断崩溃(如果/何时发生)。
我尝试了各种咒语:pip install
--debug
:静默忽略,库仍然使用-DNDEBUG -g -O3
--global-option --debug
(“警告:使用 PEP 517 构建 ifaddrs4py 时忽略 --global-option”和“弃用:--build-option 和 --global-option 已弃用”)--config-setting="--global-option=--debug"
:首次发出“SetuptoolsDeprecationWarning: Incompatible 'config_settings' passed to build backend”后,失败并显示“error: option --debug not recognized”。--config-setting="--build-option=--debug"
:无警告,但仍然失败,并显示“错误:无法识别选项 --debug”- 添加到您通常会添加的类似内容(请参阅此处
[build_ext] \n debug = 1
pyproject.toml
setup.cfg
)
据我所知,Setuptools 文档没有提供这方面的说明。
我已经看到了一些使用 or 的建议(像这样),但这是在上述 PEP 下弃用的使用方式。python setup.py build -g
python setup.py build --debug
setup.py
在这个新标准下,是否不可能使用调试符号构建 Python 扩展?如果是,该怎么做?
答: 暂无答案
评论