如何将PyQt脚本(.py)编译为windows(.exe)和/或linux的单个独立可执行文件?

2024-04-17 20:27:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我开始摆弄PyQt,并用PyQt白皮书示例应用程序(pastebin)编写了一个“漂亮”的脚本

它在Windows和Linux中运行得非常好(qt环境已经安装在两者上)。

现在我的问题是:因为我试图使用Qt,因为它是编译的(至少是纯C++的基于Qt),我如何编译一些.exe文件来在Windows上运行它,或者是Linux的独立执行程序。

关键是我希望程序被编译,因为速度和可移植性,而不是从源代码解释,这需要在任何机器上预先设置。例如,其中一个目标是通过电子邮件向根本不是程序员的同事发送小的gui脚本。


Tags: 文件程序脚本应用程序示例环境linuxwindows
3条回答

您可能想签出cx_freeze。它声称创建的可执行文件是“跨平台的,应该在Python本身工作的任何平台上工作”

我在探索使用PyQt的moneyGuru包时遇到了这个问题。我将moneyguru.exe文件下载到我的Windows XP系统中,并执行了它,它在Python 3.2上运行良好。

您可以从here克隆hg repo来查看它是如何完成的。

如果您想完整地创建一个独立的可执行文件,可以尝试这样做:http://www.pyinstaller.org/。我觉得创建一个独立的可执行文件比cx_freeze或py2exe(以我的经验)要好。易于使用(网站上有完整的文档)。

更新: 作为来自@SoursopTree和@讲师马克的最新信息,它现在支持python版本3.3-3.6。

更新:如果要创建完全独立的.exe,请传递--onefile参数。例如:

pyinstaller.exe --onefile --windowed app.py

更新:另一个有趣的库,该库的作者声称,你可以创建跨平台桌面应用程序。值得一试https://build-system.fman.io/

在花了很多周的时间尝试了所有的替代品之后-PyInstaller,py2exe,cx_freeze,。。。-我创建了自己的库:https://build-system.fman.io/。它基于PyInstaller,但解决了许多常见的问题。它还允许您在Windows、Mac和Linux上创建本机安装程序。

相关问题 更多 >

    热门问题