目錄
- 安裝py2app
- 配置setup.py
- setup.py內(nèi)有一些app信息的配置
- 生成app
安裝py2app
打開終端輸入pip3命令安裝py2app工具
安裝完成后,默認(rèn)會裝到/Library/Frameworks/Python.framework/Versions/3.8/bin/py2applet
目錄下,3.8為python3的版本號,可以自己輸入以下命令檢查對應(yīng)的版本號

為了方便我們使用,我們可以將這個py2app的工具拷貝到/usr/local/bin
目錄下,在osx系統(tǒng)下終端可以直接使用工具名,否則在使用py2app時候就需要輸入工具的完整路徑了,可以直接在終端輸入下面命令
cp /Library/Frameworks/Python.framework/Versions/3.8/bin/py2applet /usr/local/bin/py2applet
創(chuàng)建setup.py文件
我們將我們所要打包成app的腳本和資源統(tǒng)一放到同一文件夾下, cd到此目錄下,然后終端輸入命令:
py2applet --make-setup verify.py
此時可以看到已經(jīng)有setup.py
文件生成到此目錄下了
配置setup.py
setup.py內(nèi)有一些app信息的配置
我們也可以將自己的options加進(jìn)去
如下為配置的參考,以下有幾個參數(shù)需要注意:
APP
: 放置要執(zhí)行py的列表DATA_FILES: 存放所有要用到的文件資源,比如我放置了py_utils/
這個是工具包文件夾,又放置了app所要顯示的圖片文件OPTIONS:可選參數(shù)
- iconfile
:app的圖標(biāo),必須為icns的格式,其他格式的話是不會顯示出來的
- argv_emulation
:查詢了很多也沒有查到具體是做什么用的,經(jīng)實(shí)測發(fā)現(xiàn)設(shè)為False時打開app執(zhí)行,則應(yīng)用圖標(biāo)會在dock內(nèi)不動,為True時會一直跳動,直到程序執(zhí)行完成會從dock直接消失
- plist
:其他的app應(yīng)用配置,熟悉MACOS應(yīng)用開發(fā)的都會非常熟悉這些參數(shù),mac應(yīng)用info.plist里的參數(shù)都可以添加進(jìn)去
"""
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", # 應(yīng)用名
"CFBundleDisplayName": "verify", # 應(yīng)用顯示名
"CFBundleVersion": "1.0.0", # 應(yīng)用版本號
"CFBundleIdentifier" : "verify", # 應(yīng)用包名、唯一標(biāo)識
"NSHumanReadableCopyright": "Copyright © 2021 SW Felix.Zhao. All rights reserved." # 可讀版權(quán)
}
}
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

然后雙擊執(zhí)行即可
以上就是將Python腳本打包成MACOSAPP程序過程的詳細(xì)內(nèi)容,更多關(guān)于Python腳本打包成MACOSAPP程序的資料請關(guān)注腳本之家其它相關(guān)文章!
您可能感興趣的文章:- [項(xiàng)目布局配置]Nosql與PythonWeb-Flask框架組合
- Python使用signal定時結(jié)束AsyncIOScheduler任務(wù)的問題
- Python連接Postgres/Mysql/Mongo數(shù)據(jù)庫基本操作大全
- python生成可執(zhí)行exe控制Microsip自動填寫號碼并撥打功能
- Python之os模塊案例詳解