解决pyinstaller打包程序太大的问题

本文介绍了如何使用pyinstaller打包Python游戏FlappyBird,解决了在VSCode PowerShell中打包时遇到的DLL错误,以及打包后程序体积过大的问题。通过在CMD中运行命令和在pipenv虚拟环境中打包,成功减小了程序体积至10.3MB。同时,提供了详细的操作步骤和注意事项。
摘要由CSDN通过智能技术生成

项目场景

我在githubfork了一个使用python编写的flappybird游戏,然后想着打包一下。

下载地址

https://github.com/XavierJiezou/FlapPyBird

游戏截图

在这里插入图片描述

项目打包

先安装pyinstaller库:

pip install pyinstaller

然后运行打包命令:

pyinstaller -F -w -i flappy.ico flappy.py

遇到的坑

问题1

开始我是在vscode终端powershell中运行打包命令,打包过程提示什么dll文件找不到。

解决1

直接打开cmdcd到项目所在的路径,再运行打包命令,就成功打包了,中间也不报错。

问题2

打包后的flappy.exe是在dist目录下,如果直接双击会报错:
在这里插入图片描述

方案2

因为该游戏还关联有音乐和图片等游戏素材,你需要把它从文件夹中提出来,放到上一级目录,再次双击就可以正常运行了。

问题3

但这里又遇到了一个问题,这打包的游戏也太大了吧,逗我玩的吧??这才多大点游戏,游戏代码总共也不过500行,打包后却是228MB,这也太夸张了。

方案3

网上查了一下资料,说是anacondaminiconda的原因,打包时会引入一些不必要的模块,也就增大了程序的体积。推荐在pipenv创建的虚拟环境在打包。

  1. 安装pipenv
pip install pipenv
  1. cd到项目路径,运行命令pipenv install创建虚拟环境。
  2. 运行命令pipenv shell激活虚拟环境
  3. 安装项目开发中用到的模块,我这里只用到了pygame,就只安装它了:
pip install pygame
  1. 当然,pyinstaller也要重新在虚拟环境中安装:
pip install pyinstaller
  1. 然后,重新运行打包命令:
pyinstaller -F -w -i flappy.ico flappy.py

pipenv创建的虚拟环境中打包后,程序的体积就小很多了,只有10.3MB(记得还是要把打包的程序从dist文件夹中拿出来,放到上一级目录)。

温馨提示

pipenv创建的虚拟环境保存路径是在用户目录(C:\Users\xxx\)下的.virtualenvs文件夹中。如果想删除虚拟环境,请使用命令:pipenv --rm

引用参考

https://zhuanlan.zhihu.com/p/57674343

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Xavier Jiezou

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

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

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

打赏作者

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

抵扣说明:

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

余额充值