Python与Java字节码

我希望我的 python GUI 应用程序可以在所有三个操作系统上运行,而无需在每个平台上重新编译。由 pyinstaller(由或类似实用程序)平台创建的 python 可执行文件是否像 Java 的字节码一样独立?Java 的字节码使用 JRE 在 Windows、Mac 和 Linux 上运行。

回答

它就在文档中

PyInstaller 的输出特定于活动的操作系统和 Python 的活动版本。这意味着要为以下内容准备分发:

  • 不同的操作系统
  • 不同版本的 Python
  • 32 位或 64 位操作系统

你在那个操作系统上运行 PyInstaller,在那个版本的 Python 下。执行 PyInstaller 的 Python 解释器是捆绑包的一部分,它特定于操作系统和字长。

换句话说:不,它不可移植。您需要针对每个平台/架构进行编译。

正如@juanpa.arrivillaga 在评论中所述,这与 python 通常执行的字节码无关。那便携的。这里的问题是 PyInstaller 捆绑了一个特定于操作系统和体系结构的 python 解释器(也就是说,这与您通常无法在 MacO 上运行 Windows 可执行文件的原因相同)。

  • Important to note, this has nothing to do with *Python bytecode* which *is portable* to any machine that has the right version of the interpreter

以上是Python与Java字节码的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>