Anaconda使用pyinstaller打包exe程序体积过大

现象

使用的是Anaconda进行包管理,由于pyinstaller默认使用系统python环境变量来打包的,因此如果系统使用的python环境安装了太多的包,会导致最终输出的exe程序太大了,达到200多M。

解决方案

使用anaconda新建一个python环境,命名为ins

#新建环境ins,使用python3.6
conda create –name ins python=3.6
#激活环境
conda activate ins
#在新的环境中安装脚本需要的各种库,packages自行替换成自己用到的库,用到的库越少最终打包出来的体积越小
pip install packages
#安装pyinstaller
pip install pyinstaller
#使用pyinstaller打包出程序,生成的exe程序路径在项目根目录下的dist文件夹下
pyinstaller -Fw main.py

如果运行出错了,提示failed to execute script xxx,有可能是因为某些依赖包没有安装导致的,可以运行

#生成调试模式的exe,生成的exe程序路径在项目根目录下的dist文件夹下
pyinstaller -F main.py

cmd下运行生成的程序main.exe,会输出错误信息,我遇到的是no module named urllib3,于是我重新在python环境中安装urllib3,特别需要注意的是这里重新打包前,要删除根目录build文件夹下的编译缓存信息,不然不会重新打包urllib3的库

#安装缺失的依赖包urllib3
pip install urllib3
#重新打包,特别需要注意的是这里重新打包前,要删除根目录build文件夹下的编译缓存信息,不然不会重新打包urllib3的库
pyinstaller -Fw main.py

生成后exe程序只有10M而已

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值