程序都编译环境下实现了,打包卡了一天。。。。好在最后解决了
一、pyinstaller使用简述
首先执行
pyinstaller -F -w 你的程序路径
具体参数说明如下(搬运自Python生成exe和安装包之Pyinstaller带参数【只看这篇就够了】_pyinstaller -p参数-优快云博客):
| -h | 该模块的help信息 |
|---|---|
| -F | 生成一个可执行文件 |
| -D | 生成一个目录(包含多个文件)作为可执行文件 |
| -w | 运行exe时,不显示命令行窗口(仅对Windows有效) |
| -i | 该参数后跟可执行文件的icon图标路径 |
| –distpath | 该参数后跟可执行文件的路径 |
| -n | 该参数后跟可执行文件的新名字 |
运行完成后,命令行会有如下结果

运行命令时的目录下会有如下结果(1.2.3.都是运行后生成的)

dist文件夹中就是你打包好的exe了

二、问题描述
首先、打包的时候命令行窗口出现了如图问题

随后exe文件生成出来了,但是双击之后无法正常运行,直接报错。

三、问题处理
从命令行的错误信息入手,查找一下缺少的dll文件是否在电脑中存在,可以用everything搜索。

最终在环境中找到了dll的位置,尝试把dll直接放在exe所在路径,问题并没有解决,会报别的错,可能是依赖关系比较复杂。后来发现可以通过修改spec文件解决问题。
主要修改binaries属性。把发现的dll所在路径(如果用了conda,选择当前使用的conda环境对应的路径)添加到binaries中,按照如图所示格式添加就可以。

然后执行
pyinstaller "D:\01programs\project\main.spec"
文章讲述了在使用PyInstaller打包Python程序时遇到的问题,包括命令行错误、缺少DLL文件、以及如何通过修改spec文件的binaries属性来指定依赖的DLL路径,以解决运行时错误。
725

被折叠的 条评论
为什么被折叠?



