【发布时间】:2020-04-21 22:20:40
【问题描述】:
过去几周我一直在自学 Python3/API/PyQt5 和 OOP,我终于制作了一个可以运行的应用程序,耶! 我一直在使用 Ubuntu 19,当我从终端运行该应用程序时,它运行良好。问题是试图编译它(正确的术语?)以使其成为 Linux 和 Windows 的可执行文件。
我使用pyinstaller app.py --onefile -w --icon="app.ico" 制作文件,但没有看到任何错误。
我使用 Windows 10 编译 exe。
这是问题所在:在 Linux 上,我得到一个无法执行的“共享库”文件,而在 Windows 上,exe 刚刚损坏。我得到的只是一个错误,说“这个程序不能在你的系统上运行”,或者类似的东西。
这是一个非常简单的带有 PyQt5 GUI 的 1 个脚本应用程序。我对这一切都很陌生,这是迄今为止最难的部分。我已经被困了好几天了,我无法让它工作。
如果有帮助,我可以给你们应用程序代码,我只是认为我没有足够的代表来发布链接,所以它可能必须是一个代码块。
由于我没有想法,我将不胜感激你们可以提供的任何帮助。 干杯!
编辑添加:windows 8.1 在运行 app.exe 时给出错误消息“错误 -3 from inflate: invalid block lengths”
【问题讨论】:
-
1) 在 Linux 中,您应该找到一个名为“app”的可执行文件(没有扩展名,因为您是 app.py)。 2)在windows中使用dependency walker查看是否有dll丢失
-
有一个名为 app 的文件没有扩展名,当我查看属性时,它是一个“共享库”文件。我看了一些 yt 视频,每个人似乎都得到了一个可执行文件,即使在 linuc 上也是如此。我的不是。当我单击它时,我收到一条消息,说没有可用于运行该文件的程序。 2)我不知道什么是依赖步行者,所以我会去看看!感谢您的信息
-
1) 在终端上执行:
./app -
嗯,好的。我期待一个文件,用户会双击我在视频中看到的广告,但可能是不同的设置或另一种 Linux 风格。我会试试看。谢谢
-
我很困惑为什么你要在 Linux 上使用
pyinstaller?几乎所有的 Linux 发行版都有一个不错的包管理器,所以安装一个依赖 Python 和 Qt 的包很简单。
标签: python pyqt5 pyinstaller