python生成mac os app记录-py2app

ok 软件界面设计完了  需要给软件打包成独立能运行的app。我是用了py2app。

刚开始使用pyinstaller 打包app。打包完了点击一闪就没了,花了好几天,一直没有解决。最后另起新路,选择了py2app。按照官方的步骤运行。一次就成功打包出能运行的app。但是在测试的时候,发现经过py2app打包带有写入模块.write()不能工作。经过各种尝试与搜索。得出,你写入的文件编码没有定义好。所有写不进去,最总在写入字符串的时候加上encoding=’utf-8’参数。就能完全实现功能了

py2app打包py程序

参考:

官方文档
安装:

pip install -U py2app

使用:

使用py2app可以轻松地将脚本转换为Mac OS X应用程序。

创建setup.py文件

第一步是setup.py为脚本创建一个文件。setup.py 是“项目文件”,告诉setuptools构建应用程序需要知道的一切。我们将使用py2applet脚本来做到这一点:

$ py2applet --make-setup MyApplication.py
Wrote setup.py

如果您的应用程序有一个图标(.icns格式)或它需要的数据文件,您还应该将它们指定为py2applet的参数。

清理构建目录

在开始开发或切换开发模式之前,通常最好确保清除您的builddist目录:

$ rm -rf build dist

用别名模式开发(不加-A,就可以打包出独立的app)

别名模式(-A--alias选项)指示py2app构建一个使用源和数据文件的应用程序包。它不会创建独立应用程序,并且以别名模式构建的应用程序无法移植到其他计算机。此模式类似于 setuptools develop命令或Xcode的零链接功能。

要以别名模式构建应用程序,请setup.py使用该 py2app命令执行并指定-A选项(或--alias):

$ python setup.py py2app -A

在此之后,py2app会向你的终端吐出一堆消息,你最终会得到新的builddist文件夹。该build 文件夹包含您永远不需要触摸的构建污泥,该dist文件夹包含您的应用程序包。应用程序包将以脚本命名; 如果您的脚本已命名MyApplication.py,那么您的应用程序包将被命名 MyApplication.app。请注意,Finder显示没有.app扩展名的应用程序包。

您只需在添加数据文件或更改选项时再次运行此命令。对源代码的更改不需要重建!

py2app文本写入问题:

#保存文件解决encoding='utf-8'
def saveSrt(file_name, contents):
    fh = open(file_name, 'w',encoding='utf-8')
    fh.write(contents)
    fh.close()

自添加外部文件:

我是需要添加一张图片到我的py程序里。如果你没有给他打包进你的app里面。在其他电脑运行就会报错。

编辑生成的setup.py文件

DATA_FILES = ['bj.png']#添加各种素材

定义信息:

参考:

编辑生成的setup.py文件

OPTIONS = {
   "iconfile":"fcp7tosrt_logo.icns",##自定义app图标
    'plist': {
        'argv_emulation': True,
        'CFBundleName': "小笨驴fcp7tosrt",
        'CFBundleDisplayName': "小笨驴fcp7tosrt",
        'CFBundleGetInfoString': "简单高效把Final Cut Pro 7字幕转换成srt字幕",
        'CFBundleIdentifier': "com.metachris.osx.sandwich",
        'CFBundleVersion': "2019-01-22-0.1.0",
        'CFBundleShortVersionString': "2019-01-22-0.1.0",
        'NSHumanReadableCopyright': u"版权所有 © 2019, 仙人掌教育",
        'Localization native development region':'China'
    }

自定义app图标

安装官方的要求设计一个512×512的png图标,最后打包就是不显示图标。我把png图标在线转换成.icns图标。然后在生成的setup.py文件添加信息。打包就能显示了。

apple 图标设计要求:https://developer.apple.com/design/human-interface-guidelines/macos/icons-and-images/app-icon/

icns在线转换:https://cloudconvert.com/png-to-icns

ai里面设计图标:

fcp7toapp_logo在设计fcp7toapp_logo在应用程序显示

 

最后生成了app之后,再给他打包成dmg,就是可以传播了。
dmg制作参考:https://jingyan.baidu.com/article/fa4125acf4b0c728ac7092b0.html

0回复python生成mac os app记录-py2app"

留言

邮箱地址不会被公开。 必填项已用*标注

2017-2021仙人掌教育版权所有
京ICP备18004382号-1