首页 > 解决方案 > Python 与 Java 字节码

问题描述

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

标签: pythonpyinstallerbytecodeplatform-independent

解决方案


它就在文档中

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

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

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

换句话说:不,它不是便携式的。您需要为每个平台/架构进行编译。

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


推荐阅读