血泪!pyinstaller打包文件过大的解决方法
血淚!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:效果描述
整個demo的樣子就是這個鬼樣子:
其實還有另外一種版本,我加了進度條的,但是是cmd的運行樣子所以就不放上來了,進度條好像還挺好看的?
0x04:Pyinstaller打包
0x05:打包過程
Succesful看到這個我們當然很激動了,并且在當前文件夾下你會發現一個dist和bulid文件還有用你的代碼文件名命名的spec文件我們打包成功的exe文件就在dist文件夾下面,如下所示:
But What!!!
278M這…emm
0x06:重新打包( 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
上圖為Pipfiel文件的內容,可以改變url換不同的安裝源。
并且如果我們不想要這個pipenv環境了我們可以使用pipenv --rm
.pipenv graph使用這條命名在shell環境下進行安裝的包的依賴環境并利用pip list查看所安裝的包,并且一定要安裝pipenv install pyinstaller畢竟我們實要打包不是。
0x07:在Pycharm中使用( pipenv )環境
經過上面的配置我們已經重新配置好了一個新的干凈的python環境,那么我們在工程中如何引入```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打包文件过大的解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自定义 RPC框架4——RMI+Zook
- 下一篇: 变成穷鬼吧