一、安裝pyinsatller
打開命令行窗口,輸入如下指令
pip3 install pyinstaller
然后靜待pyinstaller自動安裝好
pyinstaller相關(guān)參數(shù)
-F, –onefile 打包一個單個文件,如果你的代碼都寫在一個.py文件的話,可以用這個,如果是多個.py文件就別用
-D, –onedir 打包多個文件,在dist中生成很多依賴文件,適合以框架形式編寫工具代碼,我個人比較推薦這樣,代碼易于維護(hù)
-K, –tk 在部署時包含 TCL/TK
-a, –ascii 不包含編碼.在支持Unicode的python版本上默認(rèn)包含所有的編碼.
-d, –debug 產(chǎn)生debug版本的可執(zhí)行文件
-w,–windowed,–noconsole 使用Windows子系統(tǒng)執(zhí)行.當(dāng)程序啟動的時候不會打開命令行(只對Windows有效)
-c,–nowindowed,–console
使用控制臺子系統(tǒng)執(zhí)行(默認(rèn))(只對Windows有效)
-s,–strip 可執(zhí)行文件和共享庫將run through strip.注意Cygwin的strip往往使普通的win32 Dll無法使用.
-X, –upx 如果有UPX安裝(執(zhí)行Configure.py時檢測),會壓縮執(zhí)行文件(Windows系統(tǒng)中的DLL也會)(參見note)
-o DIR, –out=DIR 指定spec文件的生成目錄,如果沒有指定,而且當(dāng)前目錄是PyInstaller的根目錄,會自動創(chuàng)建一個用于輸出(spec和生成的可執(zhí)行文件)的目錄.如果沒有指定,而當(dāng)前目錄不是PyInstaller的根目錄,則會輸出到當(dāng)前的目錄下.
-p DIR, –path=DIR 設(shè)置導(dǎo)入路徑(和使用PYTHONPATH效果相似).可以用路徑分割符(Windows使用分號,Linux使用冒號)分割,指定多個目錄.也可以使用多個-p參數(shù)來設(shè)置多個導(dǎo)入路徑,讓pyinstaller自己去找程序需要的資源
–icon=<FILE.ICO> 將file.ico添加為可執(zhí)行文件的資源(只對Windows系統(tǒng)有效),改變程序的圖標(biāo) pyinstaller -i ico路徑 xxxxx.py
–icon=<FILE.EXE,N> 將file.exe的第n個圖標(biāo)添加為可執(zhí)行文件的資源(只對Windows系統(tǒng)有效)
-v FILE, –version=FILE 將verfile作為可執(zhí)行文件的版本資源(只對Windows系統(tǒng)有效)
-n NAME, –name=NAME 可選的項目(產(chǎn)生的spec的)名字.如果省略,第一個腳本的主文件名將作為spec的名字
二、使用pyinstaller打包Python程序
①在你的Python程序文件夾上(不點進(jìn)去)按住shift并且右鍵,在彈出的選項中點擊"在此處打開命令行窗口"或者“在此處打開PowerShell窗口”
或者先進(jìn)入命令行窗口,然后使用cd指令進(jìn)入程序文件夾,示例:
cd G:\工程儲存\Python工程\love
②輸入以下指令,開始打包
pyinstaller -F -w (-i icofile) filename
filename表示你的Python程序文件名
-w 表示隱藏程序運行時的命令行窗口(不加-w會有黑色窗口)
括號內(nèi)的為可選參數(shù),-i icofile表示給程序加上圖標(biāo),圖標(biāo)必須為.ico格式
icofile表示圖標(biāo)的位置,建議直接放在程序文件夾里面,這樣子打包的時候直接寫文件名就好
輸入完成,按回車,就會開始自動打包了,第一次打包過程可能比較緩慢
輸入示例:
pyinstaller -F -w -i favicon love.py
然后我們進(jìn)入到程序目錄里面會再看到一個名稱為dist目錄,打包好的exe程序就在里面
注意:如果原本的程序中使用到了相應(yīng)的資源,需要復(fù)制到該目錄下,否則程序會無法運行
比如我這里在程序中使用到了love.png這個圖,所以就需要將該文件放到dist目錄下
三、出現(xiàn)failed to execute script的排查方法
法一:
#使用pyinstaller -F -c 進(jìn)行打包,顯示控制臺
pyinstaller -F -c pachonggui.py
法二:
命令執(zhí)行完畢之后 build\pachonggui\warnpachonggui.txt,上面會記載著錯誤
法三:
# 使用完下面這條指令之后,打開exe,提示failed to execute script
pyinstaller -Fw pachonggui.py
# 然后執(zhí)行下面這條執(zhí)行,會在list下生成一個目錄,進(jìn)入該目錄,用**命令行**執(zhí)行該exe,就會看到錯誤了
pyinstaller -D pachonggui.py
轉(zhuǎn)載自:https://baijiahao.baidu.com/s?id=1606400855559470971&wfr=spider&for=pc