使用 Pyinstaller 将 python 代码打包为 exe 文件
Pyinstaller 模块
本文介绍基于Python语言中的 pyinstaller
模块,将写好的 .py
格式的Python代码及其所用到的所有第三方库打包,生成 .exe
格式的可执行文件,从而方便地在其他环境、其他电脑中直接执行这一可执行文件的方法。
Pyinstaller 打包说明
正常情况下在 terminal 中激活对应的虚拟环境,将路径放到需要打包的工程文件下,调用下面语句即可打包生成配置好的单一 exe 文件。
pyinstaller -i 应用图标.ico -F -w main.py -n 软件名称
相关参数详细信息:
打包过程遇到的问题
Win7 适配问题
问题 1:系统环境的差异可能导致打包后 exe 程序不适配,不能使用。我的整个开发过程在 win11 系统中完成,迁移到 win7 系统中就出现了错误。
第一次出现类似下图的提示:
根据提示安装了 dll 文件,可参考 api-ms-win-core-path-l1-1-0.dll下载(win7&64位/32位)-CSDN博客,处理后提示:failed to start embedded python interpreter
无法启动嵌入式 python 解释器。
在此思考可能是 python 版本的问题,搜索网上材料了解到:win7 系统不支持 py3.8 以上版本的环境。
第一步:于是将原本的 3.10
版本降至 3.8
,仍然提示错误,难道是 3.8 版本仍然不行?
第二步:将 3.8
降至 3.7
,已经可以正常运行。
打包的 Exe 文件过大
可以正常运行后,发现由于使用 conda 创建的虚拟环境,打包后的 exe 文件体积达到 300M,可以尝试使用 pipenv 缩小体积。
注意pyinstaller
也要在pipenv环境中重新安装,否则如果默认python环境中安装有pyinstaller
,仍会使用默认的pyinstaller进行打包,则创建pipenv环境的操作没有发挥作用。
使用pipenv打包后exe体积明显缩小。