Using Python 2.7.2. When I try to import pygame I get this error message:
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
I'm not exactly sure what this means. Should I compile pygame myself?
Pygame is a set of Python modules used for writing simple video games and graphical programs. It is cross-platform, which means it can be installed on both Windows and Mac computers.
The Python 2.7.3 .dmg Mac OS installer installs both 64-bit and 32-bit binaries in:
/Library/Frameworks/Python.framework/Versions/2.7/bin/
There is a 32-bit binary called python2.7-32
in that folder.
To use it in the Terminal simply type $ python2.7-32
instead of python
To use it in IDLE simply rename the 64-bit python2.7
binary to something like python2.7-64
then rename python2.7-32' to
python2.7` and next time you launch IDLE or the Terminal it will use the 32-bit binary. Change it back when you are done.
You can also force launch IDLE in 32-bit mode from the Terminal:
$ arch -i386 /Library/Frameworks/Python.framework/Versions/2.7/bin/idle2.7 -n
You can create a shell script Automator application to make it easier to launch.
The clue is in the last line no matching architecture in universal wrapper
. Most likely you are using precompiled 32-bit binaries on a 64-bit system.
You can try reinstalling or compiling from scratch but it would probably be far easier to just force python to run in 32-bit. Lots more info over here in this post.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With