2013-01-19 11 views
10

non posso usare pyglet 1.2alpha1 (che dovrebbe essere in grado di girare sotto PY3) da Python 3.pyglet 1.2alpha1 non funziona su Python 3.3.0

ho seguito le istruzioni e installato correttamente, eppure non funziona su Py3, ma so di aver installato tutto correttamente perché posso usarlo da Python 2.7.

Ogni volta che provo a importare maialino con l'interprete, ottengo questo errore:

>>> import pyglet 

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "./pyglet/__init__.py", line 276 
    print '[%d] %s%s %s' % (thread, indent, name, location) 
       ^
SyntaxError: invalid syntax 

Lettura del messaggio Errore è abbastanza ovvio che l'errore è nella stampa di essere scritto in Python 2 stile (print foo invece di print(foo)).

Quindi la mia domanda è: è reale che si possa eseguire pyglet con Python 3?

Conosco persone che lo usano correttamente, quindi cosa dovrei fare? Potrebbe essere che ci sia una versione sbagliata di Pyglet caricata sul sito web? Dovrei convertirlo con 2to3?

+0

Quali istruzioni hai seguito? In altre parole, come l'hai installato esattamente? – delnan

+1

Ho seguito le istruzioni che possono essere trovate qui, http://www.pyglet.org/doc/programming_guide/installing_using_setup_py.html. Ho persino scaricato l'alfa doc ufficiale, ma le istruzioni erano le stesse. Ho esaminato _init_.py contenuto nel file .zip che ho scaricato e la stampa è effettivamente WRONG, scritta in stile Py2 invece di Py3, come detto prima. Avrei dovuto dirlo prima, sto eseguendo OS X al momento, e non posso provare su Windows o Linux, perché non ho il mio altro computer per ora. – AndPassa

+0

setup.py dovrebbe eseguire 2to3. Hai eseguito 'pythonX.Y setup.py install' con un python 3.x? – delnan

risposta

0

Ho lo stesso problema: Windows 8, Python 3.3.2 e pyglet 1.2alpha1.
Mi guardo intorno ma fino ad ora non ho trovato soluzioni.

ho installato la versione 2.7.5 Python, ha cambiato il precedente python.exe di file (quello della versione 3.3.2) per Python33.exe e adeguata di conseguenza le variabili d'ambiente PATH. Poi ho installato Pyglet 1.1.4 (dalla riga di comando, l'eseguibile ha anche più errori) nella versione 2.7.

Uso Eclipse, quindi ho aggiunto sia l'Interpeter nelle Impostazioni PyDev. Per ora funziona tutto bene se utilizzo l'interprete Python27.

6

Ho ottenuto Pyglet 1.2alpha1 per funzionare su Windows 8 con Python 3.3.2. (Il metodo dovrebbe essere lo stesso su Linux, a parte i diversi percorsi delle cartelle)

Il problema è che quando si esegue python setup.py install sembrerà di appendere per un lungo periodo di tempo dopo aver visto le prime righe seguenti "skipping implicit fixer". Se si chiude la finestra del terminale/bash (quindi si interrompe il processo di installazione) e quindi si esegue di nuovo setup.py, si salta la conversione 2to3 e si installano semplicemente i file di origine py2.

Il motivo per il "blocco" apparente è che richiede semplicemente un po 'di tempo per 2to3 per convertire i file, ma se si attende abbastanza a lungo, la conversione avrà luogo e convertirà e installerà correttamente il modulo.

Se è già stato installato, è necessario eliminare alcune cartelle affinché l'installazione funzioni correttamente.

In primo luogo, eliminare la cartella accumulo nella cartella di origine 1.2alpha1: %unzip_folder%\pyglet-1.2alpha1\build (dove unzip_folder è la cartella in cui è stato decompresso il pyglet 1.2alpha1 fonte)

eliminare anche la cartella pyglet dal pitone Lib: %python%\Lib\site-packages\pyglet (dove% python% è il pitone cartella di installazione, che per impostazione predefinita C: \ Python33 su Windows)

Poi corrono python setup.py install. Dovrebbe passare attraverso tutti i passaggi (copiare i file da compilare, convertire usando 2to3 e infine compilare i byte nella sottocartella Lib).

+0

Grazie per questo. Funziona. ma ora sto cercando di costruire cocos2d per python 3.3. L'hai fatto? – swdev

+0

In questo modo non ha funzionato per me :(, forse perché sto usando Windows 7? – Llopis

+1

Questo dovrebbe funzionare anche su Windows 7, Llopis. Cosa sembra accadere nel tuo caso? – ricovox

1

Pyglet 1.2 alpha è solo "python3 ready", vale a dire che non verrà eseguito con python3 out-of-the-box ma che deve essere convertito tramite 2to3. (Dopo la conversione non funzionerà più con python2.)

Per usare pyglet con i progetti python2 e python3 copio sempre pyglet in una sottocartella del progetto (e lo converto con 2to3 se voglio usarlo con python3).