如何在 Ubuntu 上使用 PyInstaller 创建 Windows 可执行文件?

aya*_*uji 3 python executable cross-compilation

我使用 pygame 创建了一个游戏,我希望将其导出到.exe文件中。我为此使用了 pyinstaller,因为它可用于 Ubuntu。当我运行时--onefile game,它工作得很好(在我的 ubuntu 计算机上)。但是,当我将它发送给拥有 Windows 的朋友时,它不是 Windows 可执行文件,而只是一个没有任何扩展名的“文件”。他不能运行它。重命名它Game.exe也没有奏效。

我没主意了……有人可以帮忙吗?

Dav*_*ter 6

显然,PyInstaller 在 Linux 上生成的二进制可执行文件只能在 Linux 上运行,而不能在 Windows 等其他操作系统上运行。文件扩展名在这里无关紧要。

根据PyInstall FAQ,您也不能使用它为不同平台进行交叉编译,但是在 Wine 中运行 PyInstall 应该可以实现您想要的:

  1. 我可以使用 PyInstaller 作为交叉编译器吗?
    1. 我可以在 Linux 下运行时打包 Windows 二进制文件吗?

      不,这不受支持。请为此使用Wine,PyInstaller 在 Wine 中运行良好。您可能还想查看邮件列表中的此主题。在 1.4 版中,我们为此提供了一些支持,但它显示只能工作一半。它需要另一个分区上的一些 Windows 系统,并且只适用于纯 Python 程序。只要您想要一个像样的 GUI(gtk、qt、wx),无论如何您都需要安装 Windows 库。所以这是很大,只是使用葡萄酒更容易。

据我了解,您需要像在 Windows 中一样在 Wine 环境中安装 PyInstall ,然后像在本机 Windows 系统上一样使用它。请参阅如何安装 Windows 软件或游戏?有关如何在 Ubuntu 上开始使用 Wine 的概述。