2016-01-13 15 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,但我相信這是不夠的不同,它可能幫助別人更好地理解什麼是未來發生的事情。

相關問題