2011-11-26 17 views
15

Uso di Python 2.7.2. Quando provo ad importare pygame ricevo questo messaggio di errore:Installazione di Pygame per Mac OS X 10.6.8

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 

io non sono esattamente sicuro che cosa questo significa. Dovrei compilare me stesso pygame?

risposta

3

L'indizio si trova nell'ultima riga no matching architecture in universal wrapper. Molto probabilmente stai usando i binari precompilati a 32-bit su un sistema a 64-bit.

Si può provare a reinstallare o compilare da zero ma sarebbe probabilmente molto più semplice forzare Python a funzionare a 32 bit. Molte altre informazioni over here in this post.

+0

Va bene ho cambiato a 32 bit, ma ora si tratta di dire che la Pygame modulo non esiste. – user1064913

+0

Hai provato a reinstallare PyGame dopo aver cambiato l'architettura? Inoltre, probabilmente lo sai già, ma assicurati di aver usato il nome del modulo e la maiuscola corretti selezionando '>>> aiuto (' moduli ') '. –

+0

Sì, ho provato a reinstallarlo. Non compare nell'elenco dei moduli. Penso che Python ritorni a 64 bit dopo che esco da Python nel terminale. C'è un modo per cambiarlo in modo permanente a 32 bit? – user1064913

0

Stavo avendo lo stesso problema. Avevo Python 2.7.2, la versione di installazione per OSX 10.6. Ecco cosa ho fatto per risolverlo:

1) Ho eliminato la mia attuale installazione di Python, sia dalla cartella delle applicazioni che da /Library/Frameworks/Python.framework (ho appena eliminato 2.7.2, lasciato solo 3.2)

2) reinstallato Python 2.7.2, la versione di installazione per OSX 10.3 (il mio file di installazione pygame è stato etichettato per OSX 10.3, che mi ha spinto in questa direzione)

3) pygame reinstallato

importazioni Ora pygame senza generare un errore.

+0

Bene, fuori rotta. La versione di Python che hai scaricato era a 32 bit, quindi perché non avrebbe funzionato? Questa non è una soluzione, ma una soluzione alternativa "un passo avanti - due passi indietro" ... – cseder

0

Se non si vuole rovinare il file di sistema, il modo più semplice è reinstallare Python 2.7.2 ma solo la versione a 32 bit. Prendilo here.

Il dmg che include entrambi 64/32 bit causa questo problema.

+0

Il programma di installazione scaricato ha esito negativo con errore "Non è stato installato nessun software" –

32

Il Python 2.7.3 .dmg installazione di Mac OS installa entrambi i binari a 64-bit e 32-bit in:

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

C'è un binario a 32 bit chiamato python2.7-32 in quella cartella.

Per utilizzarlo nel terminale semplicemente digitare $ python2.7-32 invece di python

di utilizzarlo in IDLE semplicemente rinominare il 64-bit python2.7 binario a qualcosa di simile python2.7-64 quindi rinominare python2.7-32' to python2.7` e la prossima volta che si avvia IDLE o il terminale utilizzerà il binario a 32 bit. Cambia di nuovo quando hai finito.

Si può anche forzare il lancio inattivo in modalità a 32 bit dal Terminal:

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

È possibile creare una shell script dell'applicazione Automator per rendere più facile per il lancio.

+1

run python2.7-32 risolto il problema – benlong

+2

Woo Hoo ! 4 anni e funziona ancora :) –

+1

Incredibile. 5 anni ... e funziona come per magia !!! –

0

Quello che consiglierei è utilizzare un IDE Python decente, come PyCharm.

Ho installato sia il 3.3 (x64), 3.3 (x86) che il 2.7.6 da python.org con entrambe le architetture incluse.

Tutto quello che devo fare è impostare una configurazione di interprete per ciascuna e posso scegliere e scegliere un progetto per livello di progetto.

Per me questo è il modo definitivo di sviluppo liscio di Python, manipolazione contra Python e soluzioni manuali.

La versione comunitaria di PyCharm IDE è addirittura gratuita come nella birra! Vai farla finita a JetBrains Site

E 'un gioco da ragazzi da usare e si comporta allo stesso attraverso sia Windows, Linux e OS X. Essa agisce anche come un gestore di pacchetti, in modo da poter installare i componenti differenti direttamente dalla IDE ed eseguire Console sessioni che utilizzano diverse configurazioni. Ti permette anche di configurare virtualenv facilmente.

Basta propaganda! Vai provalo tu stesso.

E sì, ho ottenuto PyGame lavorare utilizzando questo approccio ...