Установка Pygame для Mac OS X 10.6.8

Использование 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?

Ответы

Ответ 1

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 или Terminal, он будет использовать 32-битный двоичный файл, Измените его, когда закончите.

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

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

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

Ответ 2

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

Вы можете попробовать переустановить или скомпилировать с нуля, но, вероятно, гораздо проще просто заставить python работать в 32-разрядной версии. Больше здесь здесь.

Ответ 3

У меня была такая же проблема. У меня был 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

Теперь импортировать pygame, не вызывая ошибки.

Ответ 4

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

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

Ответ 5

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

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

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

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

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

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

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

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