Cx_Freeze: "Нет модуля с именем" кодеки "" Windows 10

В настоящее время я делаю игру, используя модуль pygame. Я следил за указаниями следующих ссылок. https://pythonprogramming.net/converting-pygame-executable-cx_freeze/

Я решил некоторые проблемы, такие как KeyError KeyError: 'TCL_Library', когда я использую cx_Freeze AttributeError Ошибка атрибута при использовании cx_Freeze

Выполняется сборка setup.py, но когда я запускаю exe файл игры, он выходит из строя с ошибкой Fatal Python: Py_Initialize: невозможно загрузить кодек файловой системы

    Fatal Python error: Py_Initialize: unable to load the file system codec
Traceback (most recent call last):
  File "C:\Users\jinju\AppData\Local\Programs\Python\Python35-32\lib\encodings\__init__.py", line 31, in <module>
ImportError: No module named 'codecs'

Я прочитал предыдущие вопросы в ядре Linux (cx_Freeze: "Нет модуля с именем 'codecs'" ), но я хочу знать, что мне нужно делать с моим ядром Windows 10.

Я использую Python 3.5.3, загружаемый через домашнюю страницу python, cx_Freeze-5.1-cp35-cp35m-win32.whl загружается автоматически через pip, pygame 1.9.3 через загрузку whl с помощью pip.

файл setup.py

import cx_Freeze, os

executables = [cx_Freeze.Executable("quatris.py")]

os.environ['TCL_LIBRARY'] = r'C:\Users\jinju\AppData\Local\Programs\Python\Python35-32\tcl\tcl8.6'
os.environ['TK_LIBRARY'] = r'C:\Users\jinju\AppData\Local\Programs\Python\Python35-32\tcl\tk8.6'

cx_Freeze.setup(
    name = "QUATRIS",
    version = '1.0',
    options={"build_exe": {"packages":["pygame"], "include_files":['ab_main.wav', 'ct_main.wav', 'f3_main.wav',
                                                                    'ff_main.wav', 'gta4_soviet.wav',
                                                                    'h3_neverforget.wav', 'h_onefinaleffort.wav',
                                                                    'm_sweden.wav', 'p1_stillalive.wav',
                                                                    'p2_caramiaaddio.wav', 'smb_1-up.wav',
                                                                    'smb_bump.wav', 'smb_coin.wav', 'smb_gameover.wav',
                                                                    'smb_mariodie.wav', 'smb_overworld.wav',
                                                                    'smb_pause.wav', 'tes4o_main.wav',
                                                                    'tes5s_dragonborn.wav', 'tes5s_farhorizons.wav',
                                                                    'tetris.wav', 'tloz_intro.wav', 'tw3wh_main.wav']}},
    executables = executables)

Я попытался посмотреть файл init.py и файл codecs.py. Когда я пытаюсь импортировать кодеки,

module 'codecs' has no attribute 'register'

эта вещь выходит.

# Register the search_function in the Python codec registry
codecs.register(search_function)

Это та часть, где ошибка возникает в файле init.py.

Ответ 2

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

if not True:
    import codecs

где-то в вашем коде.