Python程序打包為exe可執(zhí)行文件教程及問題排查方法

一、安裝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窗口”

image

或者先進(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程序就在里面

image

注意:如果原本的程序中使用到了相應(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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容