2016-01-13 14 views
5

随着wxPython的(最新的)安装在OS X狮子,企图在解释结果import wx中:wxPython的:“没有相应的64位体系结构” ERROR即使32位首选项设置

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应用程序,错误再次发生,即使我想,我已经设置环境变量更喜欢32位在同一终端中启动应用程序。

我猜测,不知何故py2app不“知道” 32位是首选?但是如何如此,以及如何执行或控制?

+1

我发现这个链接,它看起来像它的伎俩。 [如何强制py2app为在32位模式下运行的应用程序(http://stackoverflow.com/questions/7472301/how-to-force-py2app-to-run-app-in-32-bit-mode) –

+0

由于。尚未尝试在该帖子中提出的任何建议的解决方案,但可以继续并提交答案,然后选择它。 – Pyderman

回答

0

让我扩大了什么史蒂夫c。所述有点...最简单的解决办法是唯一的32位从Python网站上安装Python作为斯内德暗示here

一个稍微更困难的方式,但也许更多长期有效的方法是将架构类型设置为32位,像fviktor建议的那样使用类似的东西。这会除去i386体系结构中的所有内容,因此它不会尝试加载任何讨厌的64位版本。从fviktor

同上来源:

ditto --rsrc --arch i386 YourApplication.app YourApplicationStripped.app 

如前所述它会删除所有非32位的“东西”,它的回报降低了封装尺寸,并确保它不会尝试加载64位架构。

如果你想在32位和64位架构提供您可以设置架构的优先级有32位是主要的。为此,请编辑由Py2App创建的Info.plist。这里有4个选项,ppc是32位PowerPC架构,i386(我认为更常用)32位架构,然后是两个不同的64位架构x86_64和ppc64。

你的大多数问题都可以回答here,但我相信这是不够的不同,它可能帮助别人更好地理解什么是未来发生的事情。

相关问题