2011-12-31 61 views
1

我一直試圖讓pygame模塊在macbook 10.6中使用python3。我看這是非常棘手,我不得不從源代碼以下說明安裝:http://programming.itcarlow.ie/PyGameInstall.pdf一切正常,但是當我嘗試導入pygame的我得到這個錯誤:使用python導入pygame模塊時出錯3.2.2

Python 3.2.2 (v3.2.2:137e45f15c0b, Sep 3 2011, 17:28:59) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import pygame 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/pygame/__init__.py", line 95, in <module> 
    from pygame.base import * 
ImportError: dynamic module does not define init function (PyInit_base) 

我不知道這意味着什麼。我已經完成了常規安裝,並且它可以很好地使用python 2.7,但我想從python3中獲得一些功能。關於這裏有什麼問題的任何想法?

回答

2

我發現這個問題,因爲我面臨同樣的挑戰。我發現Python 3.2.x有一個pygame包的bug。我希望pygame的Python 3.x。我卸載了Python 3.2.3並重新安裝了Python 3.1.4,然後安裝了pygame-1.91.win32-py3.1.msi,現在它適用於我。

1

Python 3.x系列與2.x系列不兼容;因此您需要Python 3.x的特定pygame版本(或者通過2_to_3腳本運行它,儘管我不確定它是否也適用於C代碼。)。你爲什麼不想使用Python 2.7?

+0

我知道這就是爲什麼我使用這些說明,這是關於如何在python 3.x下運行10.6的macbook上運行pygame的具體說明。我想,因爲我使用的源代碼,我不需要一個特殊的二進制代碼爲Mac或python 3.x.我不明白的是錯誤信息的最後一行。 – 2011-12-31 15:52:58

+0

從這裏的swig doc http://www.swig.org/Doc1.3/Python.html#Python_nn9它看起來像通常它是一個'.so'命名錯誤.. – redShadow 2011-12-31 15:57:53

+0

這實際上有點幫助,但仍然沒有.so文件命名在安裝過程中由我決定,所以我仍然不知道如何解決這個問題。 – 2011-12-31 16:42:08