天天看點

Python打包成exe,檔案太大問題解決辦法原因解決辦法具體步驟

Python打包成exe,檔案太大問題解決辦法

  • 原因
  • 解決辦法
  • 具體步驟
    • 情況一:初次打包
    • 情況二:再次打包

原因

由于使用

pyinstaller

打包

.py

檔案時,會把很多已安裝的無關庫同時打包進去,導緻打包生成的

.exe

檔案體積過大。

解決辦法

使用

pipenv

建立虛拟

python

環境,在虛拟環境中安裝

.py

檔案所用到的庫(即

py

檔案中

import

的第三方庫),然後在

pipenv

所建立的虛拟環境中使用

pip

安裝打包所用到的

pyinstaller

。注意:本機安裝過

pyinstaller

的也要重新進入虛拟環境中安裝,不然會使用

pyinstaller

指令打包時,還是會生成大體積的

.exe

可執行檔案。

具體步驟

情況一:初次打包

  • 在指令行(CMD)使用

    pip

    指令安裝

    pipenv

    庫,用于建立虛拟環境
pip install pipenv
           
  • 建立一個準備當環境的檔案夾,并cd進入該檔案夾
  • 建立虛拟環境
pipenv install
           
  • 進入虛拟環境(以下操作皆為虛拟環境下的操作)
pipenv shell
           
  • 安裝.py檔案用到的子產品
pip install 【.py用到的子產品】
           
  • 安裝pyinstaller子產品,用于打包.py檔案
pip install pyinstaller
           
  • 使用pyinstaller打封包件
  • 結果檔案

運作完第7步之後,在目錄下回生成‘dist’檔案夾,裡面存放的就是結果檔案。

情況二:再次打包

若再次打包時,情況一中所建立的虛拟環境未曾删除,可跳過情況一中的第1、2、3步,直接進行第四步進入虛拟環境。然後第5步同理保留原先添加過的py子產品,即若無新增新的子產品,可跳過第5步和第6步,直接進行第7步打包操作。

  • cd進入此前建立虛拟環境的檔案夾。
  • 進入虛拟環境(以下操作皆為虛拟環境下的操作)
pipenv shell
           
  • 安裝.py檔案用到的子產品
pip install 【相較上一次打包新增的子產品】
           
  • 使用pyinstaller打封包件