Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Installing Pygame for Mac OS X 10.6.8

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?

like image 631
user1064913 Avatar asked Nov 26 '11 02:11

user1064913


People also ask

Can you install pygame on Mac?

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.


2 Answers

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' topython2.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.

like image 141
dfred Avatar answered Oct 14 '22 05:10

dfred


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.

like image 33
Kyle G Avatar answered Oct 14 '22 06:10

Kyle G