如何在Python中获取disutils设置的错误日志?

Deb*_*ami 9 python distutils

我是Python的新手.我已经为Python创建了一些C/C++扩展,并且能够在Python disutils安装脚本的帮助下构建它们.但是,我必须将此安装脚本集成到现有的构建系统中.所以,我编写了另一个脚本来使用run_setup()方法调用此安装脚本.

distributionObj = run_setup("setup.py",["build_ext"])
Run Code Online (Sandbox Code Playgroud)

现在,我想如果在构建扩展(编译器,链接器或任何东西)期间发生任何错误,我必须能够从调用者脚本获取信息以及错误字符串以通知构建过程.

请给我一些建议.

Éri*_*ujo 14

在环境中设置DISTUTILS_DEBUG = 1将导致调试日志记录.


sha*_*ran 6

distutils1(第一个版本)也使用内部版本的日志记录(有点硬编码,它不使用标准日志记录模块).我认为可以将详细级别编码设置为:

import distutils.log
distutils.log.set_verbosity(-1) # Disable logging in disutils
distutils.log.set_verbosity(distutils.log.DEBUG) # Set DEBUG level
Run Code Online (Sandbox Code Playgroud)

所有distutils的日志记录级别可用:

DEBUG = 1
INFO = 2
WARN = 3
ERROR = 4
FATAL = 5
Run Code Online (Sandbox Code Playgroud)

您可以查看distutils类"Log"的源代码以供参考.通常用于/usr/lib/python2.7/distutils/log.py中的 Python 2.7


Len*_*bro 2

传递-v参数以python setup.py build增加详细程度通常可以获取更详细的错误。