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

时间:2012-12-05 11:54:03

标签: python distutils

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

distributionObj = run_setup("setup.py",["build_ext"])

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

请给我一些建议。

4 个答案:

答案 0 :(得分:14)

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

答案 1 :(得分:6)

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

import distutils.log
distutils.log.set_verbosity(-1) # Disable logging in disutils
distutils.log.set_verbosity(distutils.log.DEBUG) # Set DEBUG level

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

DEBUG = 1
INFO = 2
WARN = 3
ERROR = 4
FATAL = 5

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

答案 2 :(得分:2)

详细选项不是附加的,它会转换为布尔值。因此,无论你多少次调用verbose选项,它总是1和1总是将级别设置为INFO,这仍然是默认值。

答案 3 :(得分:1)

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