这太晚了,但我从python中找到了如何做到这一点(不检查日志),以防有人想知道:import distutils.sysconfig
import distutils.ccompiler
compiler = distutils.ccompiler.new_compiler()
distutils.sysconfig.customize_compiler(compiler)
print compiler.compiler_so # This attribute is what you want
“compiler_-so”属性是distutils在编译某些内容时要使用的每个参数的列表。它在实际开始编译时添加文件名和-c(对于对象文件)。在
编辑:我只在macOS和Linux上测试过这个,它似乎不能在Windows上运行。在
EDIT2:我应该补充一下,它不是完整的命令,而是distutils处理任何Extension()实例之前的参数。其余的参数对于扩展是唯一的,并且取决于您在创建扩展类(如sources)时提供的arguments,如sources、include_macros。在
如果您希望distutils运行完整的raw命令,我所知道的唯一方法(不解析日志)是在所有处理之后的最后一分钟抓取命令字符串,并在the spawn function之前。以下是一种非常老套的方法:
^{pr2}$
更优雅的做法是分叉distutils并添加此功能,但这需要大量的工作和工作。在