【问题标题】:Does python bytecode (.pyc) need the C Python interpreter to run? [duplicate]python 字节码 (.pyc) 是否需要 C Python 解释器才能运行? [复制]
【发布时间】: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 类定义之类的东西,但它仍然是一个编译器。

标签: python bytecode


【解决方案1】:

不,需要python解释器。

您可以使用诸如pyinstaller 之类的应用程序来制作脚本的可执行文件,以便所有必需的包和python 库(包括解释器)都包含在单个可执行文件中。它像任何其他程序一样运行,因此除了双击并运行之外无需执行任何其他操作。

此外,.pyc 文件需要特定版本的 python 才能运行,因此如果您计划这样做,那么它确实不是分发 python 代码的推荐方式。

这个答案有更多细节:https://stackoverflow.com/a/36027342/4289062

【讨论】:

    猜你喜欢
    • 2014-08-20
    • 2019-01-05
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    • 1970-01-01
    相关资源
    最近更新 更多