8

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

我认为理想情况下我希望有一个“ is_nuitka ”标志,在编译时设置为 True,而在未编译时可能根本不存在。

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

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

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

4

2 回答 2

6

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

is_nuitka = "__compiled__" in globals()
于 2019-04-07T06:50:35.880 回答
-2

第一个想法是检查 sys.argv[0] 之类的

if '.exe' in sys.argv[0]:
    # compiled
于 2017-01-16T15:44:52.610 回答