【解决方案】Pyinstaller打包exe策略(简单实用)
场景说明
-
在业务场景中, 经常需要Python开发一些小程序/脚本/GUI界面,进行简单的项目测试或未安装Python 的小伙伴们使用。
-
使用Pyinstaller将Python脚本或者项目打包,生成可执行的.exe文件。
-
Pyinstaller是一个很不错的免费打包工具,支持Windows,Linux和MacOS,完美支持32位和64位系统。
-
除了Pyinstaller, 还可以使用py2exe进行打包
pyinstaller安装
pip install pyinstaller
打包参数
# 常用打包参数 # -F -D互斥参数 -F 打包成一个exe文件,小项目可以采用,打开比较慢,多个.py打包时不能使用 -D 默认参数,打包结果放入到创建的文件夹中,可以看到里面有很多的依赖文件 # -w -c互斥参数 -w 使用项目的GUI界面,无cmd控制台 -c 默认参数,使用cmd控制台 如果打包文件执行报错,可尝试用-c 显示控制台 -n 执行项目的名称,默认.py的文件名 -i 将ico图标打包到exe文件中 --hidden-import 打包时导包信息 # 打包PyQt项目强烈建议 带上以下参数 --hidden-import PyQt5.sip # 打包命令示例 # 在项目的根目录下执行打包命令 pyinstaller -w xxx.py --hidden-import PyQt5.sip # 打包结果输出在项目根目录下的 dist文件夹中 # 不建议使用 -F打包成一个exe文件 所谓:打包一时爽,打开5秒钟 # 非-F命令下, 静态资源、建好的Sqlite数据库可以直接放入dist中 生成的文件夹中
说明
- Pyinstaller只是将Python解释器和脚本打包成一个可执行文件, 不同于编译成真正的机器码。所以代码的运行效率是降低的,只是解决了小白用户的操作难度。
- 打包时会分析项目的依赖,并将相关的依赖打包进来,并进行加密处理
- 不同的操作系统, 需要在不同的操作系统进行打包。
debug
控制台debug
- 在本地运行成功, 建议在第一次打包exe时使用 -c命令,这样可以在控制台中显示可能的报错信息。
- 如果打包时没有用-c不会出现控制台或者控制台一闪而过,看不到报错信息, 可以在cmd命令行窗口执行exe文件
fatal error faild to execute script file
- Pyinstaller打包时有些库没有打包进去,可以将报错信息中的库通过 --hidden-import 报错的包 的进行打包
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
本文来自博客园,作者:hello_殷,转载请注明原文链接:https://www.cnblogs.com/yinzuopu/p/15474671.html
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
浙公网安备 33010602011771号