血泪!pyinstaller打包文件过大的解决方法

血泪!pyinstaller打包文件过大的解决方法,第1张

概述血泪!pyinstaller打包文件过大的解决方法记录一下踩的坑吧,都是血泪!文章虽然水平不高,但是还是希望能够对大家有帮助文章目录血泪!pyinstaller打包文件过大的解决方法0x01:源头0x02:题目描述0x03:效果描述0x04:Pyinstaller打包0x05:打包过程0x06:重新打包(pipenv)方法0x 血泪!pyinstaller打包文件过大的解决方法

记录一下踩的坑吧,都是血泪!


文章虽然水平不高,但是还是希望能够对大家有帮助

文章目录血泪!pyinstaller打包文件过大的解决方法0x01:源头0x02:题目描述0x03:效果描述0x04:Pyinstaller打包0x05:打包过程0x06:重新打包( pipenv )方法0x07:在Pycharm中使用( pipenv )环境0x08:查看最后重新打包的文件大小0x09:参考目录


0x01:源头

最近因为课程原因简单做了一个GUI界面,因为老师要求课堂上进行展示,但是教学的电脑上并没有python环境,所以想到了要利用pyinstaller进行打包,让其成为exe可运行程序,应付作业,emmm…哈哈哈嗝~

0x02:题目描述

整个作业的内容是将一个文件从一个文件夹移动到另一个文件夹,作业本身没啥难度,直接使用python内置的shutil模块便可以一行搞定,但是奈何需要进行演示,然后自己又稍微增加了一点东西,做成了GUI界面。

0x03:效果描述GUI界面完成文件搜索功能(用了深度优先的算法做了一下),指定文件类型(手动或者自动)选择文件夹,目的文件夹

整个demo的样子就是这个鬼样子:


其实还有另外一种版本,我加了进度条的,但是是cmd的运行样子所以就不放上来了,进度条好像还挺好看的?

0x04:Pyinstaller打包0x05:打包过程直接切换到当前代码文件的cmd下运行pyinstaller -F -w -i icon.ico Program.py其中-w 是代表在运行exe的时候不会用DOS窗口的出现,-i 代表的则是使用图标 Program.py则是你要打包的代码文件@H_502_123@如果你打包成功会出现如下:


Succesful看到这个我们当然很激动了,并且在当前文件夹下你会发现一个distbulID文件还有用你的代码文件名命名的spec文件我们打包成功的exe文件就在dist文件夹下面,如下所示:


But What!!!


278M这…emm0x06:重新打包( pipenv )方法

在网上搜索了解决方法,并且亲自尝试了,看网上的各路大神说法貌似是我使用的是anaconda环境打包了很多不必要的环境,并且在打包的过程成在cmd窗口下显示的提示信息也证明了我打包了很多的不必要的库,并且再提示一点能够用from 包 import 模块的方法就最好用这种能够减少很多不必要的内容。

首先如果在python中没有pipenv这个库先进行安装:pip install pipenv即可

然后在想要创建虚拟环境的文件夹中使用cmd命令:pipenv install python=3.7指定安装的python版本


上图红框为我们如果要在Pycharm中使用pipenv虚拟环境的使用的虚拟环境路径,之后会描述。

创建好后会在当前文件夹下生成一个Pipfile的文件,打开后可以对pipenv的安装源进行改变,并且使用如pipenv install requests进行包的安装在使用pipenv install requests之前要先进入pipenv shell@H_502_123@


上图为PipfIEl@H_502_123@文件的内容,可以改变url换不同的安装源。

并且如果我们不想要这个pipenv环境了我们可以使用pipenv --rm

.pipenv graph使用这条命名在shell环境下进行安装的包的依赖环境并利用pip List查看所安装的包,并且一定要安装pipenv install pyinstaller毕竟我们实要打包不是。


0x07:在Pycharm中使用( pipenv )环境

经过上面的配置我们已经重新配置好了一个新的干净的python环境,那么我们在工程中如何引入```Pycharm中呢。

打开Pycharm中的setting

配置虚拟环境

找到你得虚拟环境的路径,就是我们在0x05:打包过程说的那个红色框里的路径。

并最后在Scripts文件中找到python.exe双击后最后应用到Pycharm中即可.最后重新打包即可.

0x08:查看最后重新打包的文件大小

最后一看


8M多,虽然还是不小,但是应付作业应该还可以了emmm…我觉得

0x09:参考目录

[1] PyKK2019. Python虚拟环境和包管理工具pipenv的使用详解–看完这一篇就够了[A/ol].(2019-04-28)[2019-04-28]. https://blog.csdn.net/weixin_41133061/article/details/8964720
[2] HannIEl. pipenv使用入门 [A/ol].(2019-06-30)[2019-06-30]. https://blog.csdn.net/Hanniel/article/details/94294155
[3] 伍仔是牛仔. 解决pyinstaller打包exe文件过大(菜鸟一刀切傻办法)[A/ol].(2020-05-02)[2020-05-02]. https://blog.csdn.net/wuzaishiniuzai/article/details/105895715

总结

以上是内存溢出为你收集整理的血泪!pyinstaller打包文件过大的解决方法全部内容,希望文章能够帮你解决血泪!pyinstaller打包文件过大的解决方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1187893.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存