使用PyInstaller將python轉(zhuǎn)成可執(zhí)行文件exe筆記
1、安裝PyInstaller
PyInstaller的作用如標(biāo)題所說,首先需要下載PyInstaller和UPX,UPX是用來壓縮exe的,點擊超鏈接下載吧,目前穩(wěn)定版本是1.3,注意選擇你使用的操作系統(tǒng)。如在Windows下,將下載解壓后的upx.exe放到PyInstaller解壓后的文件夾內(nèi)。設(shè)PyInstaller的文件夾為D:\PyInstaller,下同。命令行下進(jìn)入D:\PyInstaller,運行Configure.py,應(yīng)該看到如下信息:
I: computing EXE_dependencies
I: Finding TCL/TK...
I: found TCL/TK version 8.5
I: testing for Zlib...
I: ... Zlib available
I: Testing for ability to set icons, version resources...
I: ... resource update available
I: Testing for Unicode support...
I: ... Unicode available
I: testing for UPX...
I: ...UPX available
I: computing PYZ dependencies...
不能出現(xiàn)開頭為E(Error)的信息,最好不要有W(Warning)的信息。如果出現(xiàn)找不到某dll,請把該dll文件放置到C:\Windows\system32下,一般能解決。
Linux用戶還需要編譯Runtime Executables,Windows用戶不需要。主要是運行Make.py,會在PyInstaller\support\load\下生成run和run_d兩個文件,詳見PyInstaller\doc\Manual.html說明。
2、寫一個Py程序
為了實驗,寫一個HelloWorld.py,假設(shè)保存在C:\HelloWorld.py
#!/usr/bin/env python print 'Hello,World!' words = raw_input('What do you want to say? ') print 'you said:'+words
3、創(chuàng)建spec文件
spec文件是用來告訴PyInstaller要編譯的py文件和參數(shù)的。執(zhí)行"Makespec.py+參數(shù)+Py代碼路徑"就可以,主要參數(shù)如下(詳見PyInstaller\doc\Manual.html):
-F, --onefile Py代碼只有一個文件
-D, --onedir Py代碼放在一個目錄中(默認(rèn)是這個)
-K, --tk 包含TCL/TK
-d, --debug 生成debug模式的exe文件
-w, --windowed, --noconsole 窗體exe文件(Windows Only)
-c, --nowindowed, --console 控制臺exe文件(Windows Only)
-X, --upx 使用upx壓縮exe文件
-o DIR, --out=DIR 設(shè)置spec文件輸出的目錄,默認(rèn)在PyInstaller同目錄
--icon=<FILE.ICO> 加入圖標(biāo)(Windows Only)
-v FILE, --version=FILE 加入版本信息文件
對于HelloWorld.py,具體執(zhí)行以下代碼:
Makespec.py --onefile --console --upx --tk -o C:\ C:\HelloWorld.py
執(zhí)行后C:\就出現(xiàn)HelloWorld.spec
4、Build spec文件,生成exe文件
執(zhí)行:
Build.py C:\HelloWorld.spec
一長串信息之后,你會在C:\下發(fā)現(xiàn)HelloWorld.exe這個文件,就是它啦!體積還真不小,2.7M,這是因為這個HelloWorld程序殺雞用牛刀罷了。此外其它的文件均是過程文件,可刪除。
相關(guān)文章
Pytorch之nn.Upsample()和nn.ConvTranspose2d()用法詳解
nn.Upsample和nn.ConvTranspose2d是PyTorch中用于上采樣的兩種主要方法,nn.Upsample通過不同的插值方法(如nearest、bilinear)執(zhí)行上采樣,沒有可學(xué)習(xí)的參數(shù),適合快速簡單的尺寸增加,而nn.ConvTranspose2d通過可學(xué)習(xí)的轉(zhuǎn)置卷積核進(jìn)行上采樣2024-10-10mat矩陣和npy矩陣實現(xiàn)互相轉(zhuǎn)換(python和matlab)
這篇文章主要介紹了mat矩陣和npy矩陣實現(xiàn)互相轉(zhuǎn)換(python和matlab),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07Python讀取xlsx數(shù)據(jù)生成圖標(biāo)代碼實例
這篇文章主要介紹了Python讀取xlsx數(shù)據(jù)生成圖標(biāo)代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08python Task在協(xié)程調(diào)用實例講解
在本篇文章里小編給大家整理了一篇關(guān)于python Task如何在協(xié)程調(diào)用的相關(guān)內(nèi)容,有興趣的朋友們可以參考下。2021-04-04python神經(jīng)網(wǎng)絡(luò)編程之手寫數(shù)字識別
這篇文章主要介紹了python神經(jīng)網(wǎng)絡(luò)編程之手寫數(shù)字識別,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python神經(jīng)網(wǎng)絡(luò)編程的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05