当前位置: 首页 > 知识库问答 >
问题:

cx_Freeze:"没有名为'codecs'的模块"Windows 10

澹台锐
2023-03-14

我目前正在使用pyplay模块制作游戏。我已经按照以下链接的指示。https://pythonprogramming.net/converting-pygame-executable-cx_freeze/

我已经解决了一些问题,如KeyError KeyError:'TCL_Library',当我使用cx_Freeze时,我使用了cx_Freeze的属性错误

安装程序的构建。py已经完成了,但是当我运行游戏的exe文件时,它崩溃了,出现了致命的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通过下载带有pip的whl。

设置。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个答案

吉玉石
2023-03-14

一个简单的方法,但不优雅的地方可以

if not True:
    import codecs

在代码的某个地方。

王凌
2023-03-14

这是cx_Freeze的一个错误,现在已经得到纠正:https://github.com/anthony-tuininga/cx_Freeze/commit/9c98492911d4c75587d3687206d11812b48bf144

 类似资料:
  • 问题内容: 我一直在拼命试图将我的python pygame程序编译为独立的可执行文件,但没有成功。PyInstaller无法与pygame一起正常运行,Nuitka无法使独立运行,并且cx_Freeze正在寻找最佳选择。但是,当我使用自己的进行编译时,它将生成一组文件,但是可执行文件无法运行。 我的如下: 还有其他由python引用的python文件。这有关系吗? 非常感谢 编辑:根据要求,平台

  • 我一直在拼命地将我的python pygame程序编译成独立的可执行文件,但没有成功。PyInstaller不能与pygame一起正常工作,Nuitka不能制作正常工作的standalones,cx_Freeze看起来是最好的选择。但是,当我使用,它生成一组文件,但可执行文件不运行。 我的如下所示: 还有其他python文件被引用;这有关系吗? 非常感谢 编辑:根据要求,平台Linux(Ubunt

  • 嗨,我正在学习线性代数与python的Edx课程。(http://nbviewer.ipython.org/github/ULAFF/notebooks/tree/may-14-2014/). 在第一个框中的“02.4.2.10矩阵向量乘法练习”中,代码为: 生成问题是Edx教授创建的一个模块。但是,我在导入Symphy时出错。 我得到的错误如下: 我下载并安装了症状,如果我导入,它可以在终端(苹

  • 问题内容: 我正在将Django应用程序部署到开发服务器,并且在运行时遇到此错误: 似乎与一起分发。最初,我认为这可能不会安装到virtualenv中的Python,所以我使用以下命令将了(与Python相同的版本)安装到virtualenv 中的Python站点软件包: 编辑:这只发生在virtualenv内部。如果我在virtualenv外部打开控制台,则该控制台存在,但仍然出现相同的错误。

  • 问题内容: 我有这个问题: 我已经安装了PIL,但仍然无法正常工作。我使用OSX。 我正在尝试为Django Simple Captcha安装此模块。 问题答案: 克里斯托弗的建议对我来说非常有效。 详细信息如下:1.卸载现有的Python Imaging Library 下载并解压缩源版本(从此处 http://effbot.org/downloads/Imaging-1.1.6.tar.gz)

  • 问题内容: 卸载旧的Django版本后,我已经更新到最新的Django版本1.0.2。但是现在当我运行django-admin.py时,出现以下错误。我该如何解决? 问题答案: 你必须确保django在你的PYTHONPATH中。 要进行测试,只需在python shell中执行即可。应该没有输出: 如果你安装的Django通过(或与附带的),然后在你检查site-packages,如果文件(.)