2012-04-06 7 views
1

Ich habe Probleme mit der Erstellung einer ausführbaren Datei für mein Python-Programm mit cx_freeze.Ich bin auf Windows (XP) und mein Programm verwendet Tkinter, Pygame (und zufällig) und ist in Python 3.2 codiert . Ich habe versucht, eine destillieren und läuft von Eingabeaufforderung zu erstellen:Cx_Freeze ausführbare Datei funktioniert nicht mit Pygame

cxfreeze --target-dir dist 

Auf beiden bekomme ich diesen Fehler:

Traceback (most recent call last): 
    File "C:\Python32\lib\site-packages\pygame\__init__.py", line 117, in <module> 

    try: import pygame.display 
    File "ExtensionLoader_pygame_display.py", line 12, in <module> 
    File "ExtensionLoader_pygame_surface.py", line 12, in <module> 
ImportError: No module named _view 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "C:\Python32\lib\site-packages\cx_Freeze\initscripts\Console3.py", line 2 
7, in <module> 
    exec(code, m.__dict__) 
    File "BallGame.pyw", line 1, in <module> 
    File "C:\Python32\lib\site-packages\pygame\__init__.py", line 118, in <module> 

    except (ImportError,IOError):display=MissingModule("display", geterror(), 1) 

    File "C:\Python32\lib\site-packages\pygame\__init__.py", line 61, in __init__ 
    self.warn() 
    File "C:\Python32\lib\site-packages\pygame\__init__.py", line 85, in warn 
    warnings.warn(message, RuntimeWarning, level) 
    File "C:\Python32\lib\warnings.py", line 18, in showwarning 
    file.write(formatwarning(message, category, filename, lineno, line)) 
    File "C:\Python32\lib\warnings.py", line 25, in formatwarning 
    line = linecache.getline(filename, lineno) if line is None else line 
    File "C:\Python32\lib\linecache.py", line 15, in getline 
    lines = getlines(filename, module_globals) 
    File "C:\Python32\lib\linecache.py", line 41, in getlines 
    return updatecache(filename, module_globals) 
    File "C:\Python32\lib\linecache.py", line 127, in updatecache 
    lines = fp.readlines() 
    File "C:\Python32\lib\codecs.py", line 300, in decode 
    (result, consumed) = self._buffer_decode(data, self.errors, final) 
UnicodeDecodeError: 'utf8' codec can't decode byte 0x90 in position 2: invalid s 
tart byte 

Bitte könnten Sie mir sagen, wie es zu beheben, oder ein anderes Stück empfehlen von Software, um mein Python-Skript in ausführbare Dateien zu verwandeln. Jede Hilfe wird sehr geschätzt. Danke im Voraus!

Antwort

0

Sie müssen import pygame._view am Anfang Ihres Skripts ausführen.

+0

Vielen Dank, das hat funktioniert! – jambolina

+0

Um das ein bisschen mehr zu erklären: es bedeutet, dass cx_Freeze nicht erkannte, dass es die Datei für 'pygame._view' in das Build-Verzeichnis kopieren sollte, so dass es fehlte, als Sie versuchten, das Programm auszuführen. Die Importaussage machte deutlich, dass sie kopiert werden musste. Du könntest [einen Fehler senden] (http://sourceforge.net/tracker/?group_id=84937&atid=574390) darüber. –