Установка Pygame для Mac OS X 10.6.8 - PullRequest
15 голосов
/ 26 ноября 2011

Использование Python 2.7.2.Когда я пытаюсь импортировать pygame, я получаю это сообщение об ошибке:

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?

Ответы [ 5 ]

32 голосов
/ 23 мая 2012

Установщик Python 2.7.3 .dmg для Mac OS устанавливает как 64-разрядные, так и 32-разрядные двоичные файлы в:

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

Существует 32-разрядный двоичный файл с именем python2.7-32 в этой папке.

Чтобы использовать его в Терминале, просто введите $ python2.7-32 вместо python

Чтобы использовать его в IDLE, просто переименуйте 64-битный двоичный файл python2.7 вчто-то вроде python2.7-64, затем переименуйте python2.7-32' to python2.7`, и в следующий раз, когда вы запустите IDLE или Терминал, он будет использовать 32-битный двоичный файл.Когда закончите, измените его обратно.

Вы также можете принудительно запустить IDLE в 32-битном режиме из терминала:

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

Вы можете создать оболочкуПриложение Automator для упрощения запуска.

3 голосов
/ 26 ноября 2011

Подсказка в последней строке no matching architecture in universal wrapper. Скорее всего, вы используете скомпилированные 32-битные двоичные файлы в 64-битной системе.

Вы можете попробовать переустановить или скомпилировать с нуля, но, вероятно, будет гораздо проще просто заставить Python работать в 32-битном режиме. Много информации здесь в этом сообщении .

0 голосов
/ 29 декабря 2013

Я бы порекомендовал использовать приличную Python IDE, такую ​​как PyCharm.

Я установил 3.3 (x64), 3.3 (x86) и 2.7.6 с python.org, включая обе архитектуры.

Все, что мне нужно сделать, это настроить конфигурацию интерпретатора для каждого, и я могу выбирать и выбирать проект по уровням проекта.

Для меня это определенный способ плавной разработки Python, в отличие от Python Mangling и ручного обхода.

Версия сообщества PyCharm IDE даже бесплатна, как в пиве! Перейти на JetBrains сайт

Легко использовать и ведет себя одинаково в Windows, Linux и OS X. Он также действует как менеджер пакетов, поэтому вы можете устанавливать различные компоненты прямо из среды IDE и запускать сеансы консоли, используя разные конфигурации. Это также позволяет вам легко настроить virtualenv.

Достаточно пропаганды! Попробуйте сами, вместо этого.

И да, я заставил PyGame работать, используя этот подход ...

0 голосов
/ 17 февраля 2012

Если вы не хотите связываться с системным файлом, то проще всего переустановить Python 2.7.2, но только 32-битную версию. Получите это здесь .

Этот беспорядок вызывает dmg, который включает оба 64/32 бита.

0 голосов
/ 26 января 2012

У меня была такая же проблема. У меня был Python 2.7.2, версия для установки OSX 10.6. Вот что я сделал, чтобы это исправить:

1) Удалил мою текущую установку Python, как из папки приложений, так и из /Library/Frameworks/Python.framework (я только что удалил 2.7.2, оставил только 3.2)

2) Переустановил Python 2.7.2, версию установки для OSX 10.3 (мой установочный файл pygame был помечен для OSX 10.3, что подсказало мне в этом направлении)

3) Переустановленная пигмейка

Теперь Pygame импортирует без выдачи ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...