我想在Python中检查系统的C编译器,以便我可以添加库链接来编译我的Cython代码。我知道distutils.ccompiler.get_default_compiler()或类似compiler.compiler_type的方法会返回一个编译器名称。但这太粗略了,只是像“unix”等。我需要更具体的信息,例如“gcc”,“icc”,“clang”等,这些都使用上述方法显示为“unix”。获取信息的一种可能的方式是通过os.environ[“CC”]检查系统的环境变量CC,但不能保证每个系统都定义了CC,因此它不是通用解决方案。那么,我该怎么办呢?先谢谢!
/usr/bin
的基本GCC版本。当import pyximport; pyximport.install()
时,这是Cython将使用的编译器吗?用户可能有其他编译器用作默认编译器(例如由他/她自己指定的CC
环境变量),我该如何获取它? - YDWdistutils.sysconfig.get_config_var('CC')
变量返回的内容只有"cc"。如果你在disutils
命令中没有看到任何设置,那么它很可能被设置为默认编译器,该编译器输出来自os.system('cc -v')
的结果,而默认值应该与platform
的输出匹配。 - l'L'lCC
是否设置,如果是,则读取os.environ["CC"]
;如果不是,则从distutils.sysconfig.get_config_var('CC')
获取信息。 - YDW