在OS X Lion上安装了wxPython(最新版本)后,尝试在解释器中import wx
会导致:
File "wx/__init__.pyc", line 45, in <module>
File "wx/_core.pyc", line 4, in <module>
File "wx/_core_.pyc", line 18, in <module>
File "wx/_core_.pyc", line 11, in __load
ImportError: /Users/Pyderman/Downloads/e30356784638/dist/Program.app/Contents/Resources/lib/python2.6/lib-dynload/wx/_core_.so: no appropriate 64-bit architecture
按照man python
给出的说明,我设置:
export VERSIONER_PYTHON_PREFER_32_BIT=yes
然后导入wx工作(在解释器中)。然而,当我使用 py2app 将程序捆绑到OS X应用程序时,错误会重新出现,即使我尝试在同一个终端中启动应用程序,我已将环境变量设置为首选位。
我猜不知道py2app不知道&#34;知道&#34; 32位是首选吗?但是如何实施或如何实施或控制呢?
答案 0 :(得分:0)
让我对Steve C所说的内容进行扩展......简单的解决方案是仅在python网站上安装Python 32位,因为Ned建议here
稍微更困难的方式,但长期可能更高效的是使用像fviktor建议的ditto一样将架构类型设置为32位。这除去了i386架构之外的所有内容,因此它不会尝试加载任何那些讨厌的64位版本。
来自fviktor的Ditto来源:
ditto --rsrc --arch i386 YourApplication.app YourApplicationStripped.app
如上所述,它删除了所有非32位&#34;东西&#34;这反过来降低了封装尺寸,并确保它永远不会尝试加载64位架构。
如果您希望使用32位和64位架构,则可以将架构的优先级设置为将32位作为主要架构。要执行此操作,请编辑Py2App创建的Info.plist。这里有4个选项,ppc是32位powerPC架构,i386(我更相信使用)32位架构,然后是两个不同的64位架构,x86_64和ppc64。
你的大多数问题都可以回答here,但我认为它有所不同,可以帮助别人更好地了解将来发生的事情。