通过wxPython和py2app发布适用于多个OS X版本的Mac应用程序

3 投票
1 回答
1449 浏览
提问于 2025-04-16 15:56

我定期会为一个用Python和wxPython做的应用程序发布一个dmg文件,之前一直很顺利。我现在只有一台运行Snow Leopard的电脑,想确保我的应用能在尽可能多的OS X版本上运行。之前我发现,在Snow Leopard上制作的应用可以在Leopard上运行,但在Tiger或更早的版本上就不行了。

我有两个问题:

(1) 我能否发布一个可以在Tiger、Leopard、Snow Leopard,甚至希望能在Lion上运行的单一应用?如果可以的话,应该怎么做?

(2) 使用32位还是64位的Python/wxPython会有影响吗?

1 个回答

4

要使用Python,建议从python.org下载其中一个只支持32位的安装包。这些安装包是为32位的i386和ppc系统制作的,适用于OS X 10.3到10.6的所有苹果电脑(预计在OS X 10.7发布时也能运行)。用它的Distutils(setup.py)构建的任何C扩展模块都没问题。如果这些模块需要一些Mac OS X没有的第三方C库,你需要小心地以兼容的方式构建和安装它们。最重要的是,要把它们构建为通用版本,使用-arch i386-arch ppc。现在大多数常用的库都能比较容易地做到这一点。此外,为了安全起见,使用gcc-4.0MACOSX_DEPLOYMENT_TARGET=10.3(如果不行可以试试10.4)。你需要Xcode 3,而不是更新的Xcode 4,并且需要从Xcode 3中安装可选的10.4 SDK。使用符合这些条件的wxPython二进制安装包,你就可以顺利安装了。

撰写回答