日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/8 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 血泪!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:效果描述

  • GUI界面
  • 完成文件搜索功能(用了深度優先的算法做了一下),指定文件類型(手動或者自動)
  • 選擇文件夾,目的文件夾
  • 整個demo的樣子就是這個鬼樣子:

    其實還有另外一種版本,我加了進度條的,但是是cmd的運行樣子所以就不放上來了,進度條好像還挺好看的?

    0x04:Pyinstaller打包

    0x05:打包過程

  • 直接切換到當前代碼文件的cmd下運行pyinstaller -F -w -i icon.ico Program.py其中-w 是代表在運行exe的時候不會用DOS窗口的出現,-i 代表的則是使用圖標 Program.py則是你要打包的代碼文件
  • 如果你打包成功會出現如下:
    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中呢。

  • 打開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打包文件过大的解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。