pyinstaller打包exe后给别人总运行不了,怎么破

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pyinstaller打包exe后给别人总运行不了,怎么破相关的知识,希望对你有一定的参考价值。

最近刚好用pyinstaller打包python程序,有点小感想。

别人运行不了,有几种情况吧。

如果你用python3写的程序,可能需要64位的操作系统才能运行。

有可能你试用的第三方库没有打包进exe程序,所以别人运行不了。

还有可能你的程序需要读取其他文件,打包后文件目录不对。

等等。

所以还需要看看运行不了,到底是报什么错。但是通常运行不了都会闪退,窗口就关闭了,看不到任何报错信息。这边教你一个小技巧,可以看到报错信息。

打开一个命令行窗口,把exe程序拖进去,回车即可运行。结束后窗口还在,你就可以看到报错信息了。
参考技术A 试着说一下,不一定能解决。
1、第一种情况,在打包的时候不要加参数-w,看一下执行exe文件后出现的报错再看下一步的行动
2、应该是需要装一个VC 2015 x64,试一下本回答被提问者采纳
参考技术B 安装Pyinstaller 1 按照习惯,我们使用pip来安装模块。我们一直以来强调,要用最偷懒的方法。写代码的人尤其如此。人生苦短,你要偷懒~ 0Python | 如何用pip安装模块和包 2 虽然部分第三方模块有独立的exe安装包,不过使用pip安装的另一个好处是...

pyqt用pyinstaller打包出exe文件后运行不了?如图

我添加了环境变量后就可以运行了,但到别人的机子还是弹出这个框,运行不了。该怎么办?打包时有这些信息(部分)这些warning什么意思?15031 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\python35\lib\site-packages\PyQt5\qt5core.dll15468 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\python35\lib\site-packages\PyQt5\qt5gui.dll12672 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\python35\DLLs\_bz2.pyd......

原因是我的界面是用QtDesigner生成的ui文件,但是pyinstaller没有打包进来,把相关的ui文件以及用pyuic生成的py文件复制到start.exe目录下即可运行!
如果pyinstaller用了-F命令,只生成一个exe, 也需要按照上面的方法复制相应的ui及ui生成的py文件来exe目录,且目录结构与原始项目结构要一致。追问

你好,你的意思是把ui文件和ui文件转成的py文件放到exe文件同一目录中吗?exe文件在dist文件夹中

要不要重新打包?

我有一个mainwindow,几个dialog对话框,还有一些ui文件

参考技术A

去anaconda 目录下,找对应文件夹plugins\\platforms,复制到程序路径即可

pyinstaller 打包过程及所有遇到的问题解决记录

以上是关于pyinstaller打包exe后给别人总运行不了,怎么破的主要内容,如果未能解决你的问题,请参考以下文章

python selenium代码如何打包成.exe文件(Pyinstaller)

python打包程序:使用pyinstaller将pygame的游戏项目转换为exe文件

pyinsall打包python文件为exe

pyinstaller打包生成的exe文件并使用python终止后台的exe程序运行

pyinstaller 打包问题记录

用pyinstaller生成的exe在某些电脑上能运行,有些则不行