安裝py2app
打開終端輸入pip3命令安裝py2app工具
pip3 install py2pp
安裝完成后,默認(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ì)顯示出來的
- argv_emulation
:查詢了很多也沒有查到具體是做什么用的,經(jīng)實(shí)測發(fā)現(xiàn)設(shè)為False時(shí)打開app執(zhí)行,則應(yīng)用圖標(biāo)會(huì)在dock內(nèi)不動(dòng),為True時(shí)會(huì)一直跳動(dòng),直到程序執(zhí)行完成會(huì)從dock直接消失
- plist
:其他的app應(yīng)用配置,熟悉MACOS應(yīng)用開發(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程序過程的詳細(xì)內(nèi)容,更多關(guān)于Python腳本打包成MACOSAPP程序的資料請(qǐng)關(guān)注服務(wù)器之家其它相關(guān)文章!
原文鏈接:https://blog.csdn.net/m0_48732747/article/details/120084301