我正在尝试在Mac OS X 10.6上使用py2app构建应用程序包。该应用程序使用一些仅编译为32位的库,因此当运行应用程序时会出现ImportError“没有适当的64位架构”。我该如何告诉py2app强制应用程序以32位模式运行?
ditto
实用程序从生成的应用程序捆绑包中剥离所有非i386架构。ditto --rsrc --arch i386 YourApplication.app YourApplicationStripped.app
man ditto
LSArchitecturePriority
设置为i386
和可能的ppc
。更多信息请参见此处。经过多次尝试,我终于成功使用了以下方法使wx正常工作。我还提供了我安装的版本号。
这是唯一对我有效的方法,希望能帮助其他人。
py2applet --arch=i386 -i (includes here) --make-setup (pythonfiles, icon)
py2applet --arch=i386 -i wx, platform --make-setup print.py print.icns convert.py
我安装了Python2.7和
wxPython2.8-osx-unicode-py2.7
setuptools-0.6c11-py2.7.egg
然后
sudo easy_install-2.7 py2app
这是py2applet的安装版本0.6.4
好的,考虑到我离Vebjorn仅隔一个办公室,可能这是发布答案的最佳位置,以便我们能够再次找到它。 给定py2app选项的字典:
options = {}
...
options['plist'] = { "LSArchitecturePriority": [ "i386" ] }
...
setup(options={'py2app':options})
你需要强制让Python以32位模式运行。