最近應項目經理的要求,用Python寫了一個腳本。
但開發的環境不是我的工作機和測試機,於是我就在想能不能把寫好的腳本加上GUI界面(tkinter)然后打包成.exe(4Windows)或者 .app(4Mac)。
查閱了相關資料,發現打包成Mac程序用的是py2app,打包成Windows程序用的是Pyinstaller。
當前隨筆只記錄mac程序的打包過程。
1. 下載 py2app
打開Terminal,輸入:
pip install py2app
2. 准備文件夾和腳本文件
在任意目錄下(以桌面為例)新建一個文件夾,取名Folder Creater,然后將寫的程序放入新建的文件夾里面
3. 創建 setup.py 文件
打開終端,切換到該文件夾下,然后執行
cd /Users/chen/Desktop/folderCreater py2applet --make-setup folderCreater.py
此時終端返回
Wrote setup.py
文件夾下出現 setup.py 文件
4. 設置程序圖標
我直接在Easyicon網站下載了icns格式的圖標,將圖標另存為到桌面上存放腳本的文件夾。
然后打開setup.py文件,修改其中OPTIONS內容:
OPTIONS = { 'iconfile':'icon.icns' }
可以使用命令的參數模式直接生成帶有圖標設置的setup文件:
py2applet --make-setup folderCreater.py icon.icns
這個命令會自動添加OPTION信息。
5. 發布應用
終端輸入:
python3 setup.py py2app -A
此時終端返回 Done!就算發布應用成功。
“.app”文件會出現在工程文件目錄下的dist文件夾中。
雙擊便可打開
=============================================================================
此處需注意,第5步輸的是python3還是python(python2)由你編寫腳本的python版本號決定。我是用python3.7編寫的,所以輸python3
如果輸錯,終端會返回error(別問我為什么知道)
雖然最后的目錄結構和之前正確發布的是一樣的,但是這時的app是起不來的:
這種情況下就需要刪除build 和 dist文件夾重新發布
rm -rf build dist
python setup.app py2app