使用pyinstaller生成的可执行文件不工作

2024-05-28 20:50:23 发布

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

在过去的几周里,我一直在自学Python3/API/PyQt5和OOP,我终于制作出了一款实用的应用程序,耶! 我一直在使用Ubuntu19,当我从终端运行它时,这个应用程序运行得很好。问题是试图编译它(正确的术语?),使其成为Linux和Windows的可执行文件

我使用pyinstaller app.py --onefile -w --icon="app.ico"生成文件,没有看到任何错误。 我使用Windows10来编译exe

问题是:在Linux上,我得到一个“共享库”文件,该文件无法执行,而在windows上,exe文件被破坏。我得到的只是一个错误,说“这个程序不能在你的系统上运行”,或者类似的东西

这是一个非常简单的单脚本应用程序,带有PyQt5 GUI。我对这一切都很陌生,到目前为止,这是最困难的部分。这件事我已经坚持了好几天了,我不能让它工作

如果有帮助的话,我可以给你们应用程序代码,我只是觉得我没有足够的代表来发布链接,所以它可能是一个代码块

我会很感激你们能给我的任何帮助,因为我没有主意了。 干杯

编辑以添加:运行app.exe时,windows 8.1会显示错误消息“错误-3来自充气:无效块长度”


Tags: 文件程序运行apiapp应用程序终端linuxwindows
2条回答

经过更多的修补,我终于有了一个工作的exe。 我使用-D来创建一个目录,而不是一个文件,因为这不起作用。它生成一个无法运行的exe。Windows抱怨无法解压缩应用程序。 dist目录中的exe在Windows 8.1和Windows 10上工作。没有在赢7的时候测试

我还包括了png和ico文件,并在Python3.8中使用了干净的环境,而不是安装了3.7的工作环境。我不确定这些事情是否有什么不同,但如果其他人正在寻找答案,这可能会有所帮助

我最后的命令是: pyinstaller -y -D -w -i "FULL PATH TO ICON .ico" add-data "FULL PATH TO IMAGE .png";"." "FULL PATH TO PY FILE /app.py"

要使其在Unix系统上工作,您可能必须在终端中使用dos2unix“appname”,因为windows会在任何包含文本的文件中添加一些奇怪的结尾。对我来说就是这样

相关问题 更多 >

    热门问题