1

我在使用 cx_freeze 为我的 python 程序创建可执行文件时遇到了问题。我在 Windows (XP) 上,我的程序使用 Tkinter、Pygame(和随机)并用 python 3.2 编码。我尝试创建一个 distils从命令提示符运行:

cxfreeze --target-dir dist

在这两个我得到这个错误:

    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

请你告诉我如何修复它,或者推荐一个不同的软件来将我的 python 脚本变成可执行文件。任何帮助是极大的赞赏。提前致谢!

4

1 回答 1

0

您需要import pygame._view在脚本的开头运行。

于 2012-04-06T18:01:50.940 回答