Pyinstaller:python程序打包经验

本文探讨了使用不同环境和工具(如Anaconda、PyInstaller、VirtualEnv、pipenv及PyCharm)打包Python程序的方法,发现虚拟环境能显著减小程序体积,但存在GUI程序关闭问题。最终,通过创建纯净Python环境并使用VirtualEnv打包,成功将程序大小从330M减少至37M。
部署运行你感兴趣的模型镜像

打包环境

软件
  • pyinstaller 3.4
  • Anaconda3(python3.6.5)
  • pycharm(community)
具体问题
  • 电脑上原先只有安装anaconda版本的python,程序中引入了pandas numpy scipy matplotlib等库
    在原有环境下用pyinstaller打包结果程序大小达到了330+m…这个是非常夸张的大小,放到普通机子上打开要1分钟左右。
解决方法
  1. 查询相关资料后,说是可以用virtualenv新建一个虚拟环境进行打包。于是在pycharm中新建了一个项目,采用原来的anaconda中的解释器,然后到setting中添加需要使用到的包。最后在terminal中pyinstaller xx.spec结果打包完仍然有300+m
  2. 后来搜索到一篇用pipenv建立环境并用pyinstaller打包的文章,参考后试图在terminal中使用pip指令安装pyinstaller,结果失败了(搜索一番疑似是pycharm下的virtualenv和pyinstaller的兼容问题)
  3. 尝试使用命令行,在venv中的的script中用启动安装的虚拟环境(pycharm下建立的环境默认名称是venv),在虚拟环境下使用pip指令安装pyinstaller。而后尝试打包,最后程序大小为260+m,相比之前减少了70m。
  4. 怀疑环境还是不够纯净的问题,于是重新从官网上下载了一个python3.7.3的版本,纯净版。新建项目选用纯净版python的解释器,仍然使用virtualenv,不过全程在命令行中使用,不使用Pycharm下的terminal。在venv下打包,程序大小37m,接近原来的十分之一了。
存在问题
  1. 虚拟环境占空间,相当于要重新下包
  2. GUI程序运行结束时无法正常关闭,需要手动关闭黑窗口(感觉这个问题比较严重),用的是tkinter。

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值