如何以编程方式检测代码是否在nuitka编译或python解释模式下运行

时间:2016-08-12 10:45:39

标签: python nuitka

有谁能说如何检测代码是否在Nuitka或普通python解释器创建的exe中运行?

我认为理想情况下我会喜欢“ is_nuitka ”标志,在编译时会设置为True,并且在未编译时可能根本不存在。

然后可以使用这样的代码:

if '__is_nuitka__' in locals() or '__is_nuitka__' in globals():
    print('debug info: running in nuitka mode')

有什么建议吗?有这样的东西吗?任何替代方法?

2 个答案:

答案 0 :(得分:1)

从Nuitka 0.6.2开始,您可以使用以下代码:

is_nuitka = "__compiled__" in globals()

答案 1 :(得分:-1)

第一个想法是检查sys.argv [0],如

if '.exe' in sys.argv[0]:
    # compiled