Python學習之道 打包成exe程式

2021-09-13 21:45:13 字數 2696 閱讀 6757

pyinstaller相關引數

pyinstaller使用總結

官網:生成不依賴python環境的,可以直接執行的程式

常用的引數

-h 檢視幫助

-f 生成的檔案不依賴其他庫,可以單獨執行

-d 或者–onedir 生成程式放置的資料夾

–clean 清理打包過程中的臨時檔案

pip install pyinstaller
打包成應用程式

pyinstaller -f test.py
**筆記:**打包後的應用程式可在dist資料夾下找到。

-f, –onefile

打包乙個單個檔案,如果你的**都寫在乙個.py檔案的話,可以用這個,如果是多個.py檔案就別用

-d, –onedir

打包多個檔案,在dist中生成很多依賴檔案,適合以框架形式編寫工具**,我個人比較推薦這樣,**易於維護

-k, –tk

在部署時包含 tcl/tk

-a, –ascii

不包含編碼.在支援unicode的python版本上預設包含所有的編碼.

-d, –debug

產生debug版本的可執行檔案

-w,–windowed,–noconsole

使用windows子系統執行.當程式啟動的時候不會開啟命令列(只對windows有效)

-c,–nowindowed,–console

使用控制台子系統執行(預設)(只對windows有效) pyinstaller -c ***x.py pyinstaller ***x.py --console

-s,–strip

可執行檔案和共享庫將run through strip.注意cygwin的strip往往使普通的win32 dll無法使用.

-x, –upx

如果有upx安裝(執行configure.py時檢測),會壓縮執行檔案(windows系統中的dll也會)(參見note)

-o dir, –out=dir

指定spec檔案的生成目錄,如果沒有指定,而且當前目錄是pyinstaller的根目錄,會自動建立乙個用於輸出(spec和生成的可執行檔案)的目錄.如果沒有指定,而當前目錄不是pyinstaller的根目錄,則會輸出到當前的目錄下.

-p dir, –path=dir

設定匯入路徑(和使用pythonpath效果相似).可以用路徑分割符(windows使用分號,linux使用冒號)分割,指定多個目錄.也可以使用多個-p引數來設定多個匯入路徑,讓pyinstaller自己去找程式需要的資源

–icon=

將file.ico新增為可執行檔案的資源(只對windows系統有效),改變程式的圖示 pyinstaller -i ico路徑 ***xx.py

–icon=

將file.exe的第n個圖示新增為可執行檔案的資源(只對windows系統有效)

-v file, –version=file

將verfile作為可執行檔案的版本資源(只對windows系統有效)

-n name, –name=name

可選的專案(產生的spec的)名字.如果省略,第乙個指令碼的主檔名將作為spec的名字

參考文件:

pyinstaller引數介紹以及總結 - bearstarx的部落格 - csdn部落格

pyinstaller各引數含義 - 張章的部落格 - csdn部落格

英文參考 using pyinstaller — pyinstaller 3.3.1 documentation

在這裡提醒大家,在**裡面盡量不要用import,能from.....import....盡量用這個,因為如果是import的話,在打包的時候,會將整個包都打包到exe裡面,沒有意義的增大了工具的大小!

在**的路徑下進行cmd,就直接跳轉到該路徑的cmd介面,切記路徑中不要有中文

先用後台模式生成工具exe,命令為pyinstaller ***x.py檔案,主要目的是為了看報錯資訊,解決了報錯後,再生成完整版的工具

tip:由於我的**是存在依賴的,即多檔案的,而非所有**都在乙個檔案中的,所以我在這裡沒有使用-f,剛開始玩的時候不知道,老是用了-f生成了單檔案的,沒有生成依賴,老是不成功,各位朋友切記!

下圖為命令生成的日誌,紅框部分則為exe工具生成的路徑,如果在日誌中只有info資訊的話,說明打包過程沒有問題

找到生成的exe檔案,執行exe(生成的exe檔案都會在dist目錄下)

執行時,我遇到了以下的報錯資訊,是在dist找到相關的資源,所以需要把所有關於工具所需的資源(包含以及依賴的.py檔案都放進dist下的專案目錄中)

再次執行exe,此時執行成功,說明工具打包成功

重新生成exe工具,去掉後台模式以及更換掉圖示

Python 將python工程打包成 exe

一,pyinstaller安裝配置 1,開啟 pip 安裝方式 cd d program files x86 python37 scripts pip3 install install pyinstaller 2.安裝 pywin32.2 python pywin32 postinstall.py ...

利用cx Freeze將py檔案打包成exe檔案

python的程式如何在沒有直譯器的平台上使用呢?很簡單,將python程式打包成exe可執行檔案即可!在python中比較常用的python轉exe方法有三種,分別是cx freeze,py2exe,pyinstaller。py2exe恐怕是三者裡面知名度最高的乙個,但是同時相對來說它的打包質量恐...

winform把所有dll打包成乙個exe

大家都知道做winform開發,是可以利用visual studio進行打包的,但是這種打包的方式需要雙擊安裝,那麼有沒有什麼方法,可以把winform程式打包成綠色版呢?當然,這裡的 綠色版 也是相對的,如果您本地沒有安裝對應的.net framework環境,也是無法執行的。下面是本次winfr...