cx_freeze是否包含自己的Python编译器 - >二进制?或者它是否将其翻译(例如转换为C),并编译已翻译的代码?
编辑:它似乎被编译为字节码。这是否意味着cx_freeze exe只是字节码 - > Python解释器的二进制部分?
答案 0 :(得分:2)
cx_Freeze并没有真正编译你的代码。它实际上只是将Python代码与Python解释器打包在一起,因此在启动应用程序时,它会设置Python解释器并开始运行Python代码。它具有从Python源代码或字节码运行的必要机制,但它主要将模块存储为字节码,因为加载速度更快。
Cython和Nuitka等选项更进一步 - 他们将您的代码转换为C并将其编译为机器代码,但他们仍然使用Python VM机制。它只是编译代码调用Python功能而不是运行Python字节码的VM。