MF99 coding 💻

keep learning; keep coding;

將 Python script 打包成 exe 執行檔

自從開始玩 Python 之後,就發覺 Python 真的是一個很強大又好用的小工具! 除了製作 GUI 比較麻煩且不好用之外,其他像是寫一些小工具或是自動化一些工作流程真的很好用!

但是有時候你寫好的小工具想要分享給別人使用~ 或是你是為了幫別人製作一些小工具而採用 Python 作為語言時,當要交付給別人時常常遇到兩個問題:

1. 對方電腦裡面也要裝 Python 的環境,不然無法執行
2. 我的原始碼都被別人看光光了? (在某些情況下這會有一些風險)

這時候一個很簡單的解決方式就是把它打包成 EXE 執行檔!

這樣對方如果對電腦比較不這麼內行,就省去了許多安裝環境的問題 (Python 版本 / Path 環境變數設定等) 如果對方對電腦相當在行,也省去了被對方看光程式碼、甚至亂改出問題然後把責任歸咎於你的風險(!?)

這時候就需要一個工具: Py2Exe

Py2Exe 是個免費的小工具,能夠幫你把你所撰寫的 Python script 以及相關的套件一起打包成 Exe 執行檔(以及一些附屬的 DLL 資源檔) 使用的方式如下:

1. 先至 Py2Exe 官網 下載安裝檔,並安裝在電腦中

2. 接著在你要轉換的 Python script 的目錄底下新增一個 setup.py

from distutils.core import setup
import py2exe

setup(windows=["XXXXX.py"])

(當中 XXXXX.py 就是你要轉換的 Python script 名稱)

3. 開啟 Terminal 並移動到 set.py 所在的目錄,並執行以下指令

python setup.py py2exe

執行完之後會發現目錄中多出了兩個資料夾:builddist 其中 build 資料夾為一些編譯過程的中間檔,基本上不需要了,完成的結果會在 dist 資料夾中!

開啟資料夾後,會看到有一個 XXXXX.exe (檔名跟你的 XXXXX.py 一樣),另外還有一些 DLL 或是 pyd 檔案。 這時候你就可以把這一整包資料夾給 release 出去了!

對方只要執行 XXXXX.exe (檔名可以修改) 就可以在無需安裝 Python 環境且看不到你程式碼的狀況下執行你所撰寫的工具了! 一些相關的套件、或是 Python 的環境,他都幫你打包好在 pyd 跟 DLL 資源檔裡面了!