【问题标题】:How to create Linux and MacOS executables using PyInstaller on Windows?如何在 Windows 上使用 PyInstaller 创建 Linux 和 MacOS 可执行文件?
【发布时间】:2020-08-04 11:27:46
【问题描述】:

我用 Pyinstaller 用 python 代码为 windows 制作了一个独立的可移植应用程序,它可以正常工作。

我了解要为某个操作系统创建可执行文件,必须在该特定操作系统上完成。

有没有办法在不运行虚拟机的情况下直接从 Windows 为其他平台创建可执行文件。

谢谢。

【问题讨论】:

  • 欢迎来到 Stack Overflow。如果它回答了您的问题,请不要忘记接受答案(勾选答案旁边的复选标记)。这样,您的问题就不会显示为未回答。还投票赞成好的答案。 – 从这里开始,请使用tour,阅读what's on-topic,并查看How to Ask a Good Question

标签: python pyinstaller executable


【解决方案1】:

由于 pyinstaller 不是交叉编译器(这意味着使用 pyinstaller,您无法为除您所在的系统之外的任何其他系统创建可执行文件),您将不得不寻找其他工具。

在官方 github 常见问题解答中,他们建议为此特定目的使用 Wine

链接到FAQ

由于您不想寻找其他系统来编译您的代码,这似乎是唯一的选择。

【讨论】:

    【解决方案2】:

    为了制作 Mac 和 Linux 的可执行文件,您需要在相同的系统上构建它 例如,为了让你的 Linux 工作,你需要收集 rpm 包

    【讨论】:

      【解决方案3】:

      不,pyinstaller isn't a cross-compiler,所以只使用 VM。

      【讨论】:

        【解决方案4】:

        如果您有 docker-expertise,您可以尝试在以下链接中获取 docker-containers 来为您完成这项工作(通过为每个目标系统设置 docker-container 来为 windows/linux 创建可执行文件)并启动 Docker-Containers 以从您的 Windows-OS 中构建可执行文件。虽然我还没有尝试过,但该项目的自述文件听起来很有希望。

        https://github.com/cdrx/docker-pyinstaller

        如果项目按照它说的做,你只需要在你的项目文件夹中执行以下两个命令来创建适用于 Windows 和 Linux 的可执行文件,当你完成所有设置后:

        docker run -v "$(pwd):/src/" cdrx/pyinstaller-windows

        docker run -v "$(pwd):/src/" cdrx/pyinstaller-linux

        【讨论】:

          猜你喜欢
          • 2021-09-26
          • 2015-09-24
          • 2019-12-10
          • 2019-08-15
          • 1970-01-01
          • 2018-06-22
          • 2018-02-21
          • 1970-01-01
          相关资源
          最近更新 更多