如何从Python包创建OSX应用程序/DMG?

25 投票
1 回答
16684 浏览
提问于 2025-04-11 09:20

我想用Python包制作一个macOS应用程序,然后把它放在一个磁盘映像里。

因为我需要从包里加载一些资源,所以这个包不能放在一个压缩文件里。

最终的磁盘映像应该显示一个背景图片,上面写着“拖到这里 -> 应用程序”来进行安装。

1 个回答

7

我不知道正确的方法是什么,但我用这种手动的方法来处理简单的脚本,效果还不错。

我假设无论我在哪个文件夹里,我的程序的Python文件都在相对路径的src/文件夹里,而我想执行的文件(它有正确的开头标记和执行权限)叫main.py

$ mkdir -p MyApplication.app/Contents/MacOS
$ mv src/* MyApplication.app/Contents/MacOS
$ cd MyApplication.app/Contents/MacOS
$ mv main.py MyApplication

到目前为止,我们有一个应用程序包,按我所知,这个包应该可以在任何安装了Python的Mac OS系统上运行(我想默认情况下是有的)。它没有图标之类的东西,要添加图标需要更多的元数据,这对我来说不必要,而且我也不太熟悉。

创建一个拖放安装程序其实很简单。使用磁盘工具创建一个新的磁盘映像,大小大约要足够存放你的应用程序。打开这个映像,把你的应用程序和/Applications的别名复制到这个磁盘上,然后使用查看选项来调整它们的位置。

拖放的提示信息其实就是磁盘映像的背景,你也可以在查看选项中指定这个背景。我之前没做过,但我猜想在你用自己喜欢的编辑器制作好一个图像后,可以把它复制过来,设置为背景,然后用chflags hidden来防止它在窗口里乱七八糟的。

我知道这些说明不是最清晰、最简单或最详细的,但我希望有人能觉得它们有用。

撰写回答