python - cx_freeze 如何编译 Python 脚本?

标签 python cx-freeze

cx_freeze 是否包含它自己的从 Python -> 二进制的编译器?还是翻译它(例如 C 语言),然后编译翻译后的代码?

编辑:它似乎被编译为字节码。那么这是否意味着 cx_freeze exe 只是字节码 -> Python 解释器的二进制部分?

最佳答案

cx_Freeze 并不真正编译您的代码。它实际上只是将您的 Python 代码与 Python 解释器打包在一起,因此当您启动应用程序时,它会设置一个 Python 解释器并开始运行您的 Python 代码。它具有从 Python 源代码或字节码运行的必要机制,但它主要将模块存储为字节码,因为这样加载速度更快。

像 Cython 和 Nuitka 这样的选项更进一步 - 它们将您的代码转换为 C 并将其编译为机器代码,但它们仍然使用 Python VM 机制。它只是调用 Python 功能的编译代码,而不是运行 Python 字节码的 VM。

关于python - cx_freeze 如何编译 Python 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24443621/

相关文章:

Python 3.4 cx_freeze [WinError 5] 使用 Selenium - 仅在其他机器上

python - 致命 python 错误 :initfsencoding:unable to load the file system codec? 的原因可能是什么

Python:如何完全删除链表?

python - 简单的Python输入错误

python - Pandas:将 Lambda 应用于多个数据帧

python - pip安装selenium权限错误

python - 如何阻止 BERT 将特定单词分解成词 block

python - 在 Windows 上创建 python 3.5 exe

python - 即使添加了 tcl86t.dll 和 tk86t.dll,使用 cx_Freeze 时也会出现 "ImportError: DLL load failed: The specified module could not be found"

python - 我在我的 flask 应用程序中使用 cx_freeze,但总是得到 ERR_EMPTY_RESPONSE,为什么?