如何从Python包创建OSX应用程序/DMG?
我想用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
来防止它在窗口里乱七八糟的。
我知道这些说明不是最清晰、最简单或最详细的,但我希望有人能觉得它们有用。