目錄
- 安裝py2app
- 打開(kāi)終端輸入pip3命令安裝py2app工具
- 配置setup.py
- setup.py內(nèi)有一些app信息的配置
- 生成app
安裝py2app
打開(kāi)終端輸入pip3命令安裝py2app工具
安裝完成后,默認(rèn)會(huì)裝到/Library/Frameworks/Python.framework/Versions/3.8/bin/py2applet
目錄下,3.8為python3的版本號(hào),可以自己輸入以下命令檢查對(duì)應(yīng)的版本號(hào)
為了方便我們使用,我們可以將這個(gè)py2app的工具拷貝到/usr/local/bin
目錄下,在osx系統(tǒng)下終端可以直接使用工具名,否則在使用py2app時(shí)候就需要輸入工具的完整路徑了,可以直接在終端輸入下面命令
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
此時(shí)可以看到已經(jīng)有setup.py
文件生成到此目錄下了
配置setup.py
setup.py內(nèi)有一些app信息的配置
我們也可以將自己的options加進(jìn)去
如下為配置的參考,以下有幾個(gè)參數(shù)需要注意:
APP
: 放置要執(zhí)行py的列表DATA_FILES: 存放所有要用到的文件資源,比如我放置了py_utils/
這個(gè)是工具包文件夾,又放置了app所要顯示的圖片文件OPTIONS:可選參數(shù)
- iconfile
:app的圖標(biāo),必須為icns的格式,其他格式的話是不會(huì)顯示出來(lái)的
- argv_emulation
:查詢(xún)了很多也沒(méi)有查到具體是做什么用的,經(jīng)實(shí)測(cè)發(fā)現(xiàn)設(shè)為False時(shí)打開(kāi)app執(zhí)行,則應(yīng)用圖標(biāo)會(huì)在dock內(nèi)不動(dòng),為T(mén)rue時(shí)會(huì)一直跳動(dòng),直到程序執(zhí)行完成會(huì)從dock直接消失
- plist
:其他的app應(yīng)用配置,熟悉MACOS應(yīng)用開(kāi)發(fā)的都會(huì)非常熟悉這些參數(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)用版本號(hào)
"CFBundleIdentifier" : "verify", # 應(yīng)用包名、唯一標(biāo)識(shí)
"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程序過(guò)程的詳細(xì)內(nèi)容,更多關(guān)于Python腳本打包成MACOSAPP程序的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
您可能感興趣的文章:- [項(xiàng)目布局配置]Nosql與PythonWeb-Flask框架組合
- Python使用signal定時(shí)結(jié)束AsyncIOScheduler任務(wù)的問(wèn)題
- Python連接Postgres/Mysql/Mongo數(shù)據(jù)庫(kù)基本操作大全
- python生成可執(zhí)行exe控制Microsip自動(dòng)填寫(xiě)號(hào)碼并撥打功能
- Python之os模塊案例詳解