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

 更新时间:2021年09月04日 15:46:48   作者:Felix-Zhao  
我们编写python程序时,有时候需要想将python脚本转成可执行的程序或者app,可以直接通过双击执行即可,像Windows上可以将其通过工具转换成exe程序,那么在MACOS下我们可以将其打包成MACOS APP程序

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

相关文章

  • 基于matplotlib+tkinter实现简单的绘图系统

    基于matplotlib+tkinter实现简单的绘图系统

    在理解matplotlib嵌入到tkinter中的原理之后,就已经具备了打造绘图系统的技术基础,所以本文来实现一个简单的绘图系统,感兴趣的小伙伴小伙伴可以了解一下
    2023-08-08
  • Python实现监视程序的内存使用情况

    Python实现监视程序的内存使用情况

    我们使用Python和它的数据处理库套件进行大量数据处理时候,可能使用了大量的计算资源,那么如何监视程序的内存使用情况就显得尤为重要,下面我们就来了解一下具体实现方法吧
    2023-12-12
  • Python通过Tesseract库实现文字识别

    Python通过Tesseract库实现文字识别

    这篇文章主要介绍了Python通过Tesseract库实现文字识别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • python的​PyPDF2实现pdf文件切割和合并

    python的​PyPDF2实现pdf文件切割和合并

    大家好,本篇文章主要讲的是python的​PyPDF2实现pdf文件切割和合并,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • python 追踪except信息方式

    python 追踪except信息方式

    这篇文章主要介绍了python 追踪except信息方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python如何将数据集按比例随机切分

    python如何将数据集按比例随机切分

    这篇文章主要介绍了python如何将数据集按比例随机切分问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 对django中foreignkey的简单使用详解

    对django中foreignkey的简单使用详解

    今天小编就为大家分享一篇对django中foreignkey的简单使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Ubuntu手动编译源码安装Python的详细过程

    Ubuntu手动编译源码安装Python的详细过程

    这篇文章主要介绍了Ubuntu手动编译源码安装Python的详细过程,在python官网找到所需版本的python安装包,下载到Ubuntu系统中,需要的朋友可以参考下
    2006-08-08
  • Python结合Selenium简单实现Web自动化测试

    Python结合Selenium简单实现Web自动化测试

    这篇文章是入门级别的应用Python + Selenium进行自动化测试,包括环境搭建及简单的实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 介绍Python的Django框架中的静态资源管理器django-pipeline

    介绍Python的Django框架中的静态资源管理器django-pipeline

    这篇文章主要介绍了介绍Python的Django框架中的静态资源管理器django-pipeline,django-pipeline是一个开源项目,被用来处理css等静态文件,需要的朋友可以参考下
    2015-04-04

最新评论