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...