一次學(xué)會(huì)兩種方式將 Python 打成 Exe
python 可以做網(wǎng)站應(yīng)用,也可以做客戶端應(yīng)用。但是客戶端應(yīng)用需要運(yùn)行 py 腳本,如果用戶不懂 python 就是一件比較麻煩的事情。幸好 pyton 有第三方模塊可以將腳本可以轉(zhuǎn)成 exe 執(zhí)行。
有些人可能要問了既然可以做成網(wǎng)站,為啥還要做成客戶端的,直接部署到服務(wù)器給客戶不就可以了嗎?小編的回答是當(dāng)然是為了追小姐姐呀。在公司給小姐姐寫點(diǎn) python 腳本打包成 exe 減輕上班的工作量。再弄出點(diǎn) bug,一來二去不就會(huì)產(chǎn)生故事了?
python 上常見的打包方式目是通過 pyinstaller 來實(shí)現(xiàn)的。
- pip install pyinstaller
上面安裝比較慢,用下面的清華源飛快。
- # 清華源
- pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple/
詳細(xì)步驟
pyinstaller 是一個(gè)命令行工具,下面是詳細(xì)步驟
1、cmd 切換到 python 文件的目錄。
2、執(zhí)行命令 pyinstaller -F -w -i python.ico watermark.py,
執(zhí)行完畢會(huì)發(fā)現(xiàn)生成了 3 個(gè)文件夾
其中 dist 文件夾就有我們已經(jīng)打包完成的 exe 文件。
3、雙擊 exe 就可以運(yùn)行成功了。
詳細(xì)參數(shù)
在上面的打包命令中,用到了好幾個(gè)參數(shù):-F,-W,-i,這些參數(shù)的含義如下面的表格:
參數(shù) | 用法 |
---|---|
-F | 生成結(jié)果是一個(gè) exe 文件,所有的第三方依賴、資源和代碼均被打包進(jìn)該 exe 內(nèi) |
-D | 生成結(jié)果是一個(gè)目錄,各種第三方依賴、資源和 exe 同時(shí)存儲(chǔ)在該目錄(默認(rèn)) |
-a | 不包含unicode支持 |
-d | 執(zhí)行生成的 exe 時(shí),會(huì)輸出一些log,有助于查錯(cuò) |
-w | 不顯示命令行窗口 |
-c | 顯示命令行窗口(默認(rèn)) |
-p | 指定額外的 import 路徑,類似于使用 python path |
-i | 指定圖標(biāo) |
-v | 顯示版本號(hào) |
-n | 生成的 .exe 的文件名 |
pyinstaller -F -w -i python.ico watermark.py 就表示 -F,打包只生成一個(gè) exe 文件,-w,在運(yùn)行程序的時(shí)候不打打開命令行的窗口,-i 就是打包帶有自己設(shè)置的 ico 圖標(biāo)。
圖形窗口打包
有些人可能感覺命令行打包還需要記憶各種參數(shù)的含義,有沒有窗口化的打包方式,還別說,真有。auto-py-to-exe 一個(gè)將 pyinstaller 封裝成為 GUI 窗口的模塊。
- pip install auto-py-to-exe -i https://pypi.tuna.tsinghua.edu.cn/simple/
安裝完成之后,在命令行輸入 `` 打開打包窗口。
在窗口中主要有幾個(gè)參數(shù):
- Script Location:就是 python 腳本的路徑
- Onefile (--onedir / --onefile):就是上面的 -D 和 -F 參數(shù),生成單個(gè) exe 文件或者生成一個(gè)文件夾
- Console Window (--console / --windowed):就是上面的 -w 和 -c 參數(shù),表示在運(yùn)行的時(shí)候是否出現(xiàn)命令行窗口
- ICON:就是 ico 圖標(biāo)的地址
設(shè)置完這幾個(gè)參數(shù)之后,在下面的 Current Command 框就會(huì)顯示 pyinstaller 命令。點(diǎn)擊最后的按鈕,生成 exe 文件。
總結(jié)
多學(xué) python,多多關(guān)注本公眾號(hào)文章,為找到小姐姐打上良好基礎(chǔ)。