文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

将Python脚本打包成MACOSAPP程序过程

2024-04-02 19:55

关注

安装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程序的资料请关注编程网其它相关文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯