Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用wxPython和py2app发布可在多个版本的OS X上运行的Mac应用程序_Python_Macos_Wxpython_Osx Snow Leopard_Py2app - Fatal编程技术网

使用wxPython和py2app发布可在多个版本的OS X上运行的Mac应用程序

使用wxPython和py2app发布可在多个版本的OS X上运行的Mac应用程序,python,macos,wxpython,osx-snow-leopard,py2app,Python,Macos,Wxpython,Osx Snow Leopard,Py2app,我定期使用py2app为Python/wxPython应用程序发布一个dmg,它工作得非常好。我只能访问雪豹机器,我想确保我的应用程序可以在尽可能多的OS X版本上运行。过去,我发现在雪豹上创建的应用程序在Leopard上有效,但在Tiger或更早版本上无效 我有两个问题: (1) 我能发布一个能在老虎、豹子、雪豹和狮子身上运行的应用程序吗?如果是,怎么做 (2) 使用32位还是64位Python/wxPython有关系吗?使用仅32位安装程序之一的Python。它们是使用OS X 10.3部署

我定期使用py2app为Python/wxPython应用程序发布一个dmg,它工作得非常好。我只能访问雪豹机器,我想确保我的应用程序可以在尽可能多的OS X版本上运行。过去,我发现在雪豹上创建的应用程序在Leopard上有效,但在Tiger或更早版本上无效

我有两个问题:

(1) 我能发布一个能在老虎、豹子、雪豹和狮子身上运行的应用程序吗?如果是,怎么做


(2) 使用32位还是64位Python/wxPython有关系吗?

使用仅32位安装程序之一的Python。它们是使用OS X 10.3部署目标构建的32位i386和ppc,因此它们将运行在所有支持OS X 10.3至10.6任何版本的Apple系统上(发布时应运行在OS X 10.7上)。使用Distutils(
setup.py
)构建的任何C扩展模块都可以。如果他们需要Mac OS X中未包含的任何第三方C库,您需要小心地以兼容的方式构建和安装它们。最重要的是使用
-arch i386
-arch ppc
将它们构建为通用版本。如今,大多数最常见的LIB都可以轻松做到这一点。此外,为了安全起见,请使用
gcc-4.0
MACOSX_DEPLOYMENT_TARGET=10.3
(或
10.4
,如果不起作用)。您需要的是Xcode 3,而不是较新的Xcode 4,并且需要从Xcode 3安装可选的10.4 SDK。使用符合这些标准的wxPython二进制安装程序,您应该可以继续使用。

是的,这应该是可能的。当然,如果你想在雪豹前工作,一定要避免64位。Tiger上没有64位GUI支持,Leopard上有很多bug。您可以查看pythonmac sig邮件列表档案;这类问题已经提了很多。我从来没有在Mac上使用过wxPython,所以我自己也无法回答任何问题。