pyinstaller打包

1、安装pyinstaller

pip install pyinstaller

2、打包

进入Python脚本所在目录,在目录进入cmd命令行窗口,执行命令pyinstaller scriptname

3、pyinstaller参数

--onefile  将所有的依赖库打包成一个单独的可执行文件,而不是多个文件。

--name  指定生成的可执行文件的名称

--icon  指定生成的可执行文件的图标文件

-–distpath   该参数后跟可执行文件的路径

-F   生成一个可执行文件

-D   生成一个目录(包含多个文件)作为可执行文件

-w   运行exe时,不显示命令行窗口(仅对Windows有效)

-i   该参数后跟可执行文件的icon图标路径

-n  该参数后跟可执行文件的新名字

注意:PyInstaller可能无法自动识别脚本的所有依赖库,或者依赖库的路径不正确。

可以使用--hidden-import选项手动添加缺失的依赖库

--hidden-import uiautomator2

但 --hidden-import uiautomator2 仅处理 Python 模块,未包含静态资源。

uiautomator2 在运行时需要依赖其内部的静态资源(如 atx-agent、minicap 等工具)。当使用 pyinstaller 打包脚本时,默认不会自动包含这些资源,导致打包后的程序运行时报错(找不到资源)。
通过 --add-data 参数,显式告诉 pyinstaller:
从源路径复制 uiautomator2/assets 目录下的所有文件;
将这些文件放到打包后的程序中,路径为 uiautomator2/assets,供程序运行时调用。

--add-data "uiautomator2的assets路径;uiautomator2/assets"

常见问题:
报错 FileNotFoundError:
可能是源路径错误、目标路径与代码中引用的路径不一致,或未正确添加 --add-data 参数。
建议在代码中用 uiautomator2.__file__ 重新确认源路径,并确保目标路径与代码中使用的路径一致(如 uiautomator2/assets)。

posted @ 2025-06-21 13:49  没醉  阅读(322)  评论(0)    收藏  举报