如何通过Python build命令行传递--debug实现C++扩展调试构建
实现PEP 517构建工具的调试模式命令行等价方案
要替代setup.cfg中[build] debug=1的命令行方式,直接通过PEP 517的build工具传递配置项即可,具体命令如下:
python3 -m build --config-setting=build.debug=1
为什么之前的方式不生效?
你尝试的python3 -m build --config-setting=--build-option=--debug会失败,是因为bdist_wheel并不直接识别--debug参数——这个参数是旧版setup.py build命令的专属参数,而非bdist_wheel的合法选项。而build.debug=1是直接对应setup.cfg中build段的配置项,会被setuptools的PEP 517后端正确解析,等价于在配置文件中开启调试构建。
额外说明
- 如果只需要构建wheel包(而非默认的sdist+wheel),可以加上
--wheel参数:python3 -m build --wheel --config-setting=build.debug=1 - 该配置会让C++扩展编译时包含调试符号、禁用优化,和旧版
python3 setup.py build --debug的效果完全一致。
内容的提问来源于stack exchange,提问作者krb875
相关产品推荐
相关产品推荐

