Pygame - Компилирование в exe с помощью Cx_Freeze - PullRequest
1 голос
/ 05 сентября 2011

Я пытаюсь конвертировать мою игру в пигмейки в exe с помощью Cx_freeze; Он отлично работает, когда я запускаю его из скрипта, но когда я запускаю его как exe, он вылетает с:

Traceback (most recent call last):
      File "C:\Python32\lib\site-packages\pygame\__init__.py", line 122, 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 "Title.pyw", line 8, in <module>
      File "C:\Python32\lib\site-packages\pygame\__init__.py", line 123, in <module>

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

      File "C:\Python32\lib\site-packages\pygame\__init__.py", line 66, in __init__
        self.warn()
      File "C:\Python32\lib\site-packages\pygame\__init__.py", line 90, 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
    Press any key to continue . . .

Есть ли способ обойти это? Py2exe работал для некоторых людей, но так как я использую Python 3, мне не повезло.

1 Ответ

1 голос
/ 11 апреля 2012

Вам нужно import pygame._view.

По этому вопросу было много вопросов, поищите, прежде чем задать вопрос.

...