解决pyinstaller打包后存在的程序加载慢、程序文件大等问题的处理方法

解决pyinstaller打包后存在的程序加载慢、程序文件大等问题的处理方法

笔者在这几天尝试开发了一个小程序用于写实习生周报,在程序打包环节,碰到了一些小问题:

  1. 打包后的程序加载极慢,往往加载一个程序需要几秒钟甚至一分钟
  2. 打包后的程序文件很大,对于整体使用很不合适

针对上述的问题,我查到原因是在于打包库pyinstaller在打包时会链接到系统python环境而并非虚拟环境,所以需要构建一个与本地环境无关的环境来实现隔离下的打包,这里我选择的是pipenv库来操作。

pipenv库相比于其他虚拟环境的库的优势在于环境比较隔离,在使用上会比较合适,下面是安装代码:

pip install pipenv

安装好之后,新建一个新的项目来打包程序,在文件夹的地址栏输入cmd,进入到命令行环境中,并输入以下代码为虚拟环境安装python3.9:

pipenv install python=3.9

接着输入下面代码,进入到虚拟环境下:

pipenv shell

接着,将完整的代码脚本复制到环境下,在环境中修改Pipfile文件,下面提供一个文件模板以供修改,将需要的库进行引用即可,需注意,该文件需要为gbk编码环境才可以对文档进行读取:

[[source]]
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
verify_ssl = false
name = "pip_conf_index_global"


[packages]
chinese-calendar = "==1.9.1"
greenlet = "==3.0.3"
lxml = "==5.2.2"
numpy = "==1.26.4" 
pandas = "==1.3.4"
pillow = "==10.3.0"
pyqt5 = "==5.15.10"
pyqt5-qt5 = "==5.15.2" 
pyqt5-sip = "==12.13.0"
python-dateutil = "==2.9.0.post0"
python-docx = "==1.1.2"
pytz = "==2024.1" 
six = "==1.16.0"
sqlalchemy = "==1.4.49"
typing-extensions = "==4.12.1"
tzdata = "==2024.1" 

[dev-packages]

接着使用pipenv install进行库安装,安装完之后可以在环境下使用python *.py测试脚本运行即可,接着pip install pyinstaller 安装pyinstaller库,就可以开始打包了,打包可以详情关注如何修改spec文件,这里不做赘述,使用pyinstaller *.spec进行打包即可,需要注意这里的*都表示你的文件名,该种方式打包后的文件往往大小会比原来小一半左右。

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员好费脑子啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值