pyinstaller使用方法及案例
許多用python編程的初學(xué)者不知道怎么把.py文件轉(zhuǎn)換為exe文件,下面介紹一種把.py文件轉(zhuǎn)換為exe文件的軟件及其使用方法。(python3.0以上版本)
一個(gè)案例快速入門(mén)
準(zhǔn)備*.ico文件
使用CMD進(jìn)入當(dāng)前目錄之后執(zhí)行一下命令
簡(jiǎn)便版
1.圖標(biāo)裝換為.ico格式
2.利用命令窗口安裝pyinstaller插件
pip install pyinstaller3.執(zhí)行命令
pyinstaller -F -i myico.ico BMI.py4.執(zhí)行完命令后,需要的exe文件就在dist文件夾中
[需要處理的文件存放于英文路徑下]
詳細(xì)版
1 pyinstaller相關(guān)參數(shù)
-F, –onefile | 打包一個(gè)單個(gè)文件,如果你的代碼都寫(xiě)在一個(gè).py文件的話,可以用這個(gè),如果是多個(gè).py文件就別用
-D, –onedir | 打包多個(gè)文件,在dist中生成很多依賴(lài)文件,適合以框架形式編寫(xiě)工具代碼,我個(gè)人比較推薦這樣,代碼易于維護(hù)
-K, –tk | 在部署時(shí)包含 TCL/TK
-a, –ascii | 不包含編碼.在支持Unicode的python版本上默認(rèn)包含所有的編碼.
-d, –debug | 產(chǎn)生debug版本的可執(zhí)行文件
-w,–windowed,–noconsole | 使用Windows子系統(tǒng)執(zhí)行.當(dāng)程序啟動(dòng)的時(shí)候不會(huì)打開(kāi)命令行(只對(duì)Windows有效)
-c,–nowindowed,–console | 使用控制臺(tái)子系統(tǒng)執(zhí)行(默認(rèn))(只對(duì)Windows有效)
| pyinstaller -c xxxx.py
| pyinstaller xxxx.py --console
-s,–strip | 可執(zhí)行文件和共享庫(kù)將run through strip.注意Cygwin的strip往往使普通的win32 Dll無(wú)法使用.
-X, –upx | 如果有UPX安裝(執(zhí)行Configure.py時(shí)檢測(cè)),會(huì)壓縮執(zhí)行文件(Windows系統(tǒng)中的DLL也會(huì))(參見(jiàn)note)
-o DIR, –out=DIR | 指定spec文件的生成目錄,如果沒(méi)有指定,而且當(dāng)前目錄是PyInstaller的根目錄,會(huì)自動(dòng)創(chuàng)建一個(gè)用于輸出(spec和生成的可執(zhí)行文件)的目錄.如果沒(méi)有指定,而當(dāng)前目錄不是PyInstaller的根目錄,則會(huì)輸出到當(dāng)前的目錄下.
-p DIR, –path=DIR | 設(shè)置導(dǎo)入路徑(和使用PYTHONPATH效果相似).可以用路徑分割符(Windows使用分號(hào),Linux使用冒號(hào))分割,指定多個(gè)目錄.也可以使用多個(gè)-p參數(shù)來(lái)設(shè)置多個(gè)導(dǎo)入路徑,讓pyinstaller自己去找程序需要的資源
–icon=<FILE.ICO> | 將file.ico添加為可執(zhí)行文件的資源(只對(duì)Windows系統(tǒng)有效),改變程序的圖標(biāo) pyinstaller -i ico路徑 xxxxx.py
–icon=<FILE.EXE,N> | 將file.exe的第n個(gè)圖標(biāo)添加為可執(zhí)行文件的資源(只對(duì)Windows系統(tǒng)有效)
-v FILE, –version=FILE | 將verfile作為可執(zhí)行文件的版本資源(只對(duì)Windows系統(tǒng)有效)
-n NAME, –name=NAME | 可選的項(xiàng)目(產(chǎn)生的spec的)名字.如果省略,第一個(gè)腳本的主文件名將作為spec的名字
2 pyinstaller填坑總結(jié)
[在這里提醒大家,在代碼里面盡量不要用import,能from…import…就盡量用這個(gè),因?yàn)槿绻莍mport的話,在打包的時(shí)候,會(huì)將整個(gè)包都打包到exe里面,沒(méi)有意義的增大了工具的大小!]
2.1、先下載pyinstaller,我比較懶,就直接用pip install pyinstaller,等待自動(dòng)安裝
2.2、在代碼的路徑下進(jìn)行cmd,就直接跳轉(zhuǎn)到該路徑的cmd界面,切記路徑中不要有中文
2.3、先用后臺(tái)模式生成工具exe,命令為pyinstaller xxxx.py文件,主要目的是為了看報(bào)錯(cuò)信息,解決了報(bào)錯(cuò)后,再生成完整版的工具
tip:由于我的代碼是存在依賴(lài)的,即多文件的,而非所有代碼都在一個(gè)文件中的,所以我在這里沒(méi)有使用-F,剛開(kāi)始玩的時(shí)候不知道,老是用了-F生成了單文件的,沒(méi)有生成依賴(lài),老是不成功,各位朋友切記!
如果在日志中只有info信息的話,說(shuō)明打包過(guò)程沒(méi)有問(wèn)題
2.4、找到生成的exe文件,運(yùn)行exe(生成的exe文件都會(huì)在dist目錄下)
運(yùn)行時(shí),我遇到了以下的報(bào)錯(cuò)信息,是在dist找到相關(guān)的圖片資源,所以需要把所有關(guān)于工具所需的資源(包含圖片以及依賴(lài)的.py文件都放進(jìn)dist下的項(xiàng)目目錄中)
2.5、再次運(yùn)行exe,此時(shí)運(yùn)行成功,說(shuō)明工具打包成功
2.6、重新生成exe工具,去掉后臺(tái)模式以及更換掉圖標(biāo)
給大家推薦一個(gè)圖標(biāo)獲取地址,里面ico蠻多的:easyicon
下載了自己心儀的ico后,用-i+ico路徑來(lái)替換默認(rèn)ico,這次重新生成exe工具,命令為pyinstaller -i ico路徑 -w xxxx.py
再將需要的圖片資源和代碼文件放到dist下的項(xiàng)目文件夾中
參考資料
總結(jié)
以上是生活随笔為你收集整理的pyinstaller使用方法及案例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 在Android设备部署PyTorch模
- 下一篇: Ganglia 安装 No packag