Ho realizzato un gioco Pong multiplayer con TCP, UDP e pygame. i moduli sto usando sono: pygame, os, la registrazione, filettatura, casuale, YAML (PyYAML) e presaIl gioco funziona bene dal sorgente, ma non da py2app
Quando si esegue il gioco dalla linea di comando con python2.7 funziona bene, ma la versione compilata con py2app mi dà un errore che è:
TypeError: Error when calling the metaclass bases
function() argument 1 must be code, not str
googled intorno, e le altre domande su questo su stack overflow non ha alcun senso nel mio caso sembra. La linea in cui mi dà l'errore è:
class Entity(pygame.Surface):
def __init__(self, x, y, w, h, color=(255, 255, 255)):
pygame.Surface.__init__(self, (w, h))
Come forse avrete capito, è sulla prima linea di questo esempio. È qualcosa di strano quando si usa pygame.Surface. Anche se come ho detto, funziona quando eseguo il programma nella riga di comando!
Lo script py2app io uso è questa:
from setuptools import setup
APP = ['src/client.py']
OPTIONS = {'argv_emulation': True, 'includes': ['EXTERNAL LIBRARY'], }
setup(
app=APP,
options={'py2app': OPTIONS},
setup_requires=['py2app'],
)
Grazie in anticipo!
Ho trovato la soluzione da sola, mi dispiace di averti disturbato. in precedenza nella riga di comando che ha detto: RuntimeWarning: import trasformare: No module named _Vedi (ImportError: No module named _Vedi) A quanto pare, che ha reso così pygame.Surface non poteva essere importato e non è stato riconosciuto come una funzione da il computer. Quindi, il messaggio di errore aveva senso dopo tutto –
Impossibile, a quanto pare ho bisogno di 10 reputazione per rispondere io stesso entro 8 ore –
@Zenolijo Oh guarda che hai più di 10 ora :). – squiguy