2011-11-26 327 views
15

使用Python 2.7.2。當我嘗試導入pygame時,我收到以下錯誤消息:安裝Pygame for Mac OS X 10.6.8

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pygame/__init__.py", line 95, in <module> 
    from pygame.base import * 
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pygame/base.so, 2): no suitable image found. Did find: 
    /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pygame/base.so: no matching architecture in universal wrapper 

我不完全確定這是什麼意思。我應該自己編譯pygame嗎?

回答

3

線索在最後一行no matching architecture in universal wrapper。很可能您在64位系統上使用預編譯的32位二進制文​​件。

你可以嘗試從頭開始重新安裝或編譯,但只是強制python運行在32位上可能會容易得多。更多信息over here in this post

+0

好吧,我改到32位,但現在它說,該模塊pygame的不存在。 – user1064913

+0

您是否嘗試在更改架構後重新安裝PyGame?此外,您可能已經知道這一點,但通過檢查>>> help('modules')'確保您使用了正確的模塊名稱和大小寫。 –

+0

是的,我試過重新安裝它。它不會顯示在模塊列表中。我認爲python在終端中退出python後會變回64位。有沒有辦法將其永久更改爲32位模式? – user1064913

0

我遇到了同樣的問題。我有Python 2.7.2,OSX 10.6的安裝版本。這是我做了什麼來解決它:

1)從應用程序文件夾和從/Library/Frameworks/Python.framework(我剛剛刪除2.7.2,只剩下3.2 3.212)刪除我目前的Python安裝

2)重新安裝的Python 2.7.2,爲OSX 10.3安裝版(我pygame的安裝文件被標記爲OSX 10.3,這促使我在這個方向上)

3)重新安裝pygame的

現在pygame的進口不會拋出錯誤。

+0

呃,當然了。你下載的Python版本是32位,所以爲什麼它不工作?這不是一個解決方案,而是「前進一步 - 後退兩步」解決方法... – cseder

0

如果你不想搞砸系統文件,那麼最簡單的方法是重新安裝Python 2.7.2,但只有32位版本。得到它here

包含64/32位的dmg導致了這個混亂。

+0

下載的安裝程序失敗,錯誤「沒有找到要安裝的軟件」 –

32

Python的2.7.3的.dmg的Mac OS安裝程序安裝64位和32位二進制文​​件中:

/Library/Frameworks/Python.framework/Versions/2.7/bin/

有一個該文件夾中稱爲python2.7-32 32位二進制。

在終端使用它只需鍵入:$ python2.7-32而不是python

要使用它在IDLE只需重命名的64位二進制python2.7喜歡的東西python2.7-64然後重命名python2.7-32' to python2.7`和你啓動下一次IDLE或終端將使用32位二進制。完成後請將其更改。

您還可以強制在32位模式下啓動IDLE從終端:

$ arch -i386 /Library/Frameworks/Python.framework/Versions/2.7/bin/idle2.7 -n

您可以創建一個shell腳本,Automator的應用,使其更容易推出。

+1

運行python2.7-32修復了我的問題 – benlong

+2

Woo Hoo ! 4歲,仍然工作:) –

+1

令人難以置信。 5年...和魔術般的作品! –

0

我推薦的是使用像PyCharm一樣體面的Python IDE。

我已經在python.org中同時安裝了3.3(x64),3.3(x86)和2.7.6兩種體系結構。

我所要做的就是爲每個設置一個解釋器配置,我可以按項目級別選擇一個項目。

對我來說,這是平滑Python開發的明確方式,對比Python Mangling和手動解決方法。

PyCharm IDE的社區版本甚至免費,就像啤酒一樣!去結束它在JetBrains Site

它使用一個微風和相同的行爲在這兩個Windows,Linux和OS X. 它也作爲一個包管理器,這樣你就可以從IDE直接安裝不同的組件,然後運行控制檯會話使用不同的配置。它也可以讓你輕鬆設置virtualenv。

夠宣傳了!你可以自己嘗試一下。

是的,我得到了使用這種方法pygame的工作......