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

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

相关文章
|
16天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
16天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
2月前
|
存储 网络安全 数据安全/隐私保护
|
18天前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
19天前
|
开发框架 监控 .NET
【Azure App Service】部署在App Service上的.NET应用内存消耗不能超过2GB的情况分析
x64 dotnet runtime is not installed on the app service by default. Since we had the app service running in x64, it was proxying the request to a 32 bit dotnet process which was throwing an OutOfMemoryException with requests >100MB. It worked on the IaaS servers because we had the x64 runtime install
|
2月前
|
Linux 区块链 Python
Python实用记录(十三):python脚本打包exe文件并运行
这篇文章介绍了如何使用PyInstaller将Python脚本打包成可执行文件(exe),并提供了详细的步骤和注意事项。
69 1
Python实用记录(十三):python脚本打包exe文件并运行
|
28天前
|
机器学习/深度学习 算法 编译器
Python程序到计算图一键转化,详解清华开源深度学习编译器MagPy
【10月更文挑战第26天】MagPy是一款由清华大学研发的开源深度学习编译器,可将Python程序一键转化为计算图,简化模型构建和优化过程。它支持多种深度学习框架,具备自动化、灵活性、优化性能好和易于扩展等特点,适用于模型构建、迁移、部署及教学研究。尽管MagPy具有诸多优势,但在算子支持、优化策略等方面仍面临挑战。
63 3
|
1月前
|
算法 测试技术 开发者
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗;代码审查通过检查源代码发现潜在问题,提高代码质量和团队协作效率。本文介绍了一些实用的技巧和工具,帮助开发者提升开发效率。
37 3
|
1月前
|
存储 人工智能 数据挖掘
Python编程入门:构建你的第一个程序
【10月更文挑战第22天】编程,这个听起来高深莫测的词汇,实际上就像搭积木一样简单有趣。本文将带你走进Python的世界,用最浅显的语言和实例,让你轻松掌握编写第一个Python程序的方法。无论你是编程新手还是希望了解Python的爱好者,这篇文章都将是你的理想起点。让我们一起开始这段奇妙的编程之旅吧!
25 3
|
2月前
|
IDE 开发工具 Python
Python 编程入门:打造你的第一个程序
【10月更文挑战第6天】编程,这个听起来高大上又充满神秘感的领域,其实就像学习骑自行车一样。一开始你可能会觉得难以掌握平衡,但一旦你学会了,就能自由地穿梭在广阔的道路上。本文将带你走进 Python 的世界,用最简单的方式让你体验编写代码的乐趣。不需要复杂的理论,我们将通过一个简单的例子——制作一个猜数字游戏,来实践学习。准备好了吗?让我们开始吧!