python虚拟环境下打包exe详细步骤,可降低exe文件大小20倍!
前言
通常使用pyinstaller直接打包py文件会把所有相关的环境打包进去,导致生成的exe文件超级大,而使用虚拟环境可以有针对性的对环境进行打包,减小exe的文件大小。本文使用Anaconda通过实践案例带大家过一遍如何使用虚拟环境打包py文件,及打包后报错的一些注意事项。`
本案例直接打包后大小为246M,使用虚拟环境打包后只有13M,效果不言而喻。
提示:以下是本篇文章正文内容,下面案例可供参考
一、安装Anaconda
网上方法很多,这里跳过。
二、创建并激活虚拟环境
1.创建虚拟环境
运行“Anaconda Prompt”,根据自己安装的python版本输入对应命令,我这里要对一个定时截图小程序进行打包,出现的界面输入创建虚拟环境的指令。成功创建了一个名字为jietu,且基于python版本3.9的虚拟环境。在创建过程中需要回复(y/n),y.:
conda create -n 虚拟环境名字jietu python==3.9 #创建虚拟环境
2.激活虚拟环境
再激活虚拟环境,路径自动跳转至虚拟环境中,输入conda list可以查看当前虚拟环境里已经安装的库。:
conda activate 虚拟环境名字jietu #激活虚拟环境
conda list #查看虚拟环境里已经安装的库
conda安装的虚拟环境,会把虚拟环境的目录生成在anaconda安装目录下的env目录下。使用命令conda info –envs可查看conda环境下所有的虚拟环境,我这里只有新建的一个jietu。
conda info –envs # 查看conda环境下所有的虚拟环境
3.查看自己的py文件用到的库并在虚拟环境中安装
查看自己的py程序有哪些库,我这里的程序只有pyautogui需要安装(实际可能还缺其他相关依赖库,打包后运行可检查)。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyautogui #安装需要的库
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller #安装打包库
切换至代码所在目录,我的是在E:\python\定时截图。
4.打包exe
准备好exe文件图标,图片格式为ico,可以在格式工厂转换。输入命令开始打包。最终的exe在dist里面,其他的都可以删了。
Pyinstaller -F -i photo.ico jietu.py #打包成exe
通过虚拟环境打包后是12.7M,而直接打包是246M,效果杠杠的。
5.检查exe
运行检查是否正常运行,结果发现报错,提示缺少相关库pillow,所以再安装一下。
切换至虚拟环境的原始目录C盘中,安装pillow库。
C: #切换路径到原始虚拟路径
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pillow #安装库
切换至虚拟环境下的代码路径E盘中,再按步骤4打包即可。运行程序检查是否正常。
三、退出虚拟环境
conda deactivate #退出虚拟环境
总结
本文通过真实案例,详细介绍了虚拟环境下打包exe的步骤,结果表明此方法可以大大降低打包文件的大小,喜欢的话欢迎关注、点赞和评论。