Установка 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, используя этот подход...