將Python腳本打包成MACOSAPP程序過程

安裝py2app

打開終端輸入pip3命令安裝py2app工具

pip3 install py2pp

安裝完成後,默認會裝到/Library/Frameworks/Python.framework/Versions/3.8/bin/py2applet目錄下,3.8為python3的版本號,可以自己輸入以下命令檢查對應的版本號

在這裡插入圖片描述

為瞭方便我們使用,我們可以將這個py2app的工具拷貝到/usr/local/bin目錄下,在osx系統下終端可以直接使用工具名,否則在使用py2app時候就需要輸入工具的完整路徑瞭,可以直接在終端輸入下面命令

cp /Library/Frameworks/Python.framework/Versions/3.8/bin/py2applet /usr/local/bin/py2applet

創建setup.py文件

我們將我們所要打包成app的腳本和資源統一放到同一文件夾下, cd到此目錄下,然後終端輸入命令:

py2applet --make-setup verify.py 

此時可以看到已經有setup.py文件生成到此目錄下瞭

配置setup.py

setup.py內有一些app信息的配置

我們也可以將自己的options加進去

如下為配置的參考,以下有幾個參數需要註意:

APP: 放置要執行py的列表DATA_FILES: 存放所有要用到的文件資源,比如我放置瞭py_utils/這個是工具包文件夾,又放置瞭app所要顯示的圖片文件OPTIONS:可選參數
- iconfile:app的圖標,必須為icns的格式,其他格式的話是不會顯示出來的
- argv_emulation:查詢瞭很多也沒有查到具體是做什麼用的,經實測發現設為False時打開app執行,則應用圖標會在dock內不動,為True時會一直跳動,直到程序執行完成會從dock直接消失
- plist:其他的app應用配置,熟悉MACOS應用開發的都會非常熟悉這些參數,mac應用info.plist裡的參數都可以添加進去

"""
This is a setup.py script generated by py2applet
Usage:
    python setup.py py2app
"""
from setuptools import setup
APP = ['verify.py']
DATA_FILES = ["py_utils/", "earth.icns"]
OPTIONS = { 
	"iconfile":"earth.icns",
            "argv_emulation": True,
            "plist": {
                    "CFBundleName"   : "verify",     # 應用名
                    "CFBundleDisplayName": "verify", # 應用顯示名
                    "CFBundleVersion": "1.0.0",      # 應用版本號
                    "CFBundleIdentifier" : "verify", # 應用包名、唯一標識
                    "NSHumanReadableCopyright": "Copyright © 2021 SW Felix.Zhao. All rights reserved." # 可讀版權
            }
        }
setup(
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)

生成app

還在此前的目錄終端下輸入命令

則app將生成到目錄下

rm -rf build dist # 刪除之前的dist目錄
python3 setup.py py2app # 生成app

在這裡插入圖片描述

然後雙擊執行即可

以上就是將Python腳本打包成MACOSAPP程序過程的詳細內容,更多關於Python腳本打包成MACOSAPP程序的資料請關註WalkonNet其它相關文章!

推薦閱讀: