【发布时间】:2020-06-29 19:13:46
【问题描述】:
是否可以在不需要在主机操作系统上安装 C Python 解释器的情况下运行 python 字节码文件?
【问题讨论】:
-
字节码只是解释器的代码。它不是可以直接运行的机器代码。请注意,
bytecode标记甚至表示“CPython 解释器运行存储在 .pyc 文件中的字节码。” -
Python“字节码”不是编译过程的结果。这是以解释器友好的二进制格式存储的昂贵解析过程的结果。
-
@KlausD - .pyc 文件是一个标头加上一个已经编译的编组代码对象。
-
@tdelaney 以更广泛的含义编译。不编译为编译器,例如 C 代码。
-
@KlausD。 - 我们可以争论“解释器”是什么意思,但是 python 将源代码编译成字节码,然后在“python 虚拟机”中执行字节码。它做了 java 编译器对 java 源代码所做的事情。和 C 编译器所做的差不多,除了目标是字节码,而不是机器码。因为它是动态的,所以它不需要 C 头文件或外部 java 类定义之类的东西,但它仍然是一个编译器。