python二进制程序打包为 mac app(dmg)-应用制作

简介: python二进制程序打包为 mac app(dmg)-应用制作

python二进制程序打包为 mac app(dmg)-应用制作

前言

上篇文章介绍了如何将pyinstaller打包产物,变成一个macos app


本篇研究如何将app, 进一步变成 dmg, 就和你网上下载的dmg安装包一样!


打包dmg

到了这步已经可以使用了, 但是一般情况下, 会使用 dmg 格式来分发应用


dmg 是一个磁盘映像, 制作很简单, 使用 mac 自带的工具就可以了


新建磁盘映像

  • 打开磁盘mac自带的磁盘工具
  • cmd + n 新建

大小要选能放下的大小, 这里最终产物有 17M, 我就填个50MB 然后选读写,存储,选择位置,其他内容如图所示。

大小要选能放下的大小, 这里最终产物有 70m, 我就填个 100MB 然后选读写,存储,选择位置

  • 右键选择在访达中显示

  • 打开后,如下图所示

  • 然后新建一个Application软链接

在桌面新建一个文件夹,取名dmg吧,将app文件放进去。为了实现拖拽到Application的效果,需要在这个文件夹里放一个Application的替身。具体做法是cd到这个目录,建立一个软链接。

$ cd /Users/xxxxx/Desktop/dmg
$ ln -s /Applications/   Applications
  • 将上篇文章生成的.app文件 和 Application软链 拖入其中

就完成了基本的制作。



导出镜像

上一步生产的镜像是不建议分发的,因为包体积太大 我们需要进行压缩转换。

  • 推出镜像

  • 压缩转换

  • 保存文件

修改文件名,在后面追加dmg,加密看个人选择,映像格式选择压缩

到此,我们就得到了一个可运行的dmg文件,就可以给别人使用了!

运行

当我们把打好包的dmg文件给别人安装运行时,会提示应用已经损坏!

因为我们的安装包是没签名的,是打不开的。

所以需要执行一段代码。

sudo xattr -r -d com.apple.quarantine /Applications/garbevents.app

执行成功之后,就可以正常运行了!

相关文章
|
1天前
|
SQL 安全 数据库
构建安全的Python Web应用是一项持续的努力,需要开发者时刻保持警惕,并采用最佳实践来预防各种安全威胁
【7月更文挑战第26天】构建安全的Python Web应用是一项持续的努力,需要开发者时刻保持警惕,并采用最佳实践来预防各种安全威胁
|
4天前
|
机器学习/深度学习 数据采集 算法
Python编程语言进阶学习:深入探索与高级应用
【7月更文挑战第23天】Python的进阶学习是一个不断探索和实践的过程。通过深入学习高级数据结构、面向对象编程、并发编程、性能优化以及在实际项目中的应用,你将能够更加熟练地运用Python解决复杂问题,并在编程道路上走得更远。记住,理论知识只是基础,真正的成长来自于不断的实践和反思。
|
2天前
|
开发者 Python
Python Socket编程:不只是基础,更有进阶秘籍,让你的网络应用飞起来!
【7月更文挑战第25天】在网络应用蓬勃发展的数字时代,Python凭借其简洁的语法和强大的库支持成为开发高效应用的首选。本文通过实时聊天室案例,介绍了Python Socket编程的基础与进阶技巧,包括服务器与客户端的建立、数据交换等基础篇内容,以及使用多线程和异步IO提升性能的进阶篇。基础示例展示了服务器端监听连接请求、接收转发消息,客户端连接服务器并收发消息的过程。进阶部分讨论了如何利用Python的`threading`模块和`asyncio`库来处理多客户端连接,提高应用的并发处理能力和响应速度。掌握这些技能,能使开发者在网络编程领域更加游刃有余,构建出高性能的应用程序。
10 3
|
5天前
|
机器学习/深度学习 数据可视化 数据挖掘
数据可视化大不同!Python数据分析与机器学习中的Matplotlib、Seaborn应用新视角!
【7月更文挑战第22天】数据可视化在Python数据科学中至关重要,Matplotlib和Seaborn提供强大工具。案例展示如何用它们分析房屋售价数据:Matplotlib绘制面积与售价散点图揭示正相关,Seaborn的pairplot展示多变量关系。在建模阶段,特征重要性通过条形图可视化,辅助模型优化。这两库是理解数据和提升模型性能的关键。
19 3
|
4天前
|
Shell 程序员 开发工具
[oeasy]python0026_调试程序_pdb3_帮助_help_求助_文档
调试程序_debug_next_下一步_list_pdb3 🥋
26 1
|
6天前
|
算法 数据处理 索引
告别低效搜索!Python中Trie树与Suffix Tree的实战应用秘籍!
【7月更文挑战第21天】探索Python中的字符串搜索效率提升:使用Trie树与Suffix Tree。Trie树优化单词查询,插入和删除,示例展示其插入与搜索功能。Suffix Tree,复杂但强大,适用于快速查找、LCP查询。安装[pysuffixtree](https://pypi.org/project/pysuffixtree/)库后,演示查找子串及最长公共后缀。两者在字符串处理中发挥关键作用,提升数据处理效率。**
|
5天前
|
JSON API 网络架构
颠覆传统!Python RESTful API设计与实现,让你的Web应用焕发新生!
【7月更文挑战第22天】了解RESTful API为何重要,它简化了Web服务接口并促进了前后端分离。Python开发者可选Flask或Django REST Framework来构建API。设计时注重资源导向、无状态和统一接口。以下是一个使用Flask创建图书管理API的简例,展示了如何通过HTTP方法处理资源操作。本文旨在帮助读者掌握Python RESTful API开发,鼓励创新与实践。
17 0
|
6天前
|
SQL 缓存 数据库
构建高效Web应用:掌握Python中的ORM映射技术
【7月更文挑战第21天】在Web开发中,数据库操作常需直接写SQL,增加复杂度与风险。ORM技术,如SQLAlchemy,通过对象关系映射简化此流程,提升效率与安全性。安装SQLAlchemy仅需`pip install sqlalchemy`,使用时定义模型映射至数据库表,通过会话对象管理事务。ORM特性如缓存、延迟加载及批量操作显著优化Web性能,减少数据库负担。掌握SQLAlchemy,开发者可聚焦业务逻辑,提升应用效能与代码质量。
14 0