当前位置: 首页 > 面试题库 >

cx_Freeze:“没有名为'codecs'的模块”

颜霖
2023-03-14
问题内容

我一直在拼命试图将我的python
pygame程序编译为独立的可执行文件,但没有成功。PyInstaller无法与pygame一起正常运行,Nuitka无法使独立运行,并且cx_Freeze正在寻找最佳选择。但是,当我使用自己的进行编译时setup.py,它将生成一组文件,但是main可执行文件无法运行。

setup.py的如下:

import sys
import cx_Freeze

executables = [cx_Freeze.Executable("main.py")]
images =["assets/images/1.png","assets/images/2.png","assets/images/3.png","assets/images/4.png","assets/images/5.png","assets/images/6.png","assets/images/7.png","assets/images/8.png","assets/images/tile.png","assets/images/mark.png","assets/images/mine.png","assets/images/overlay.png","assets/images/overlay_2.png","assets/images/background.png"]

cx_Freeze.setup(
    name="Minesweeper",
    options={"build_exe": {"packages":["pygame"],
                           "include_files":images}},
    executables = executables

)

还有其他由python引用的python文件main.py。这有关系吗?

非常感谢

编辑:根据要求,平台是Linux(Ubuntu 14.04);python版本是3.4.3; cx_Freeze是cxfreeze
5.0,可通过pip下载。确切的错误为:

Fatal Python error: Py_Initialize: Unable to get locale encoding
Traceback (most recent call last):
File "usr/lib/python3.4/encodings/__init__.py", line 31, in <module>
ImportError: No module named 'codecs'
Aborted (core dumped)

问题答案:

我在Ubuntu 15.10上的cx_Freeze 5.0.1和python 3.4.4有完全相同的问题。正如@Anthony
Tuininga所建议的那样,从源头重新安装python可以解决此问题,例如从此源头开始:

wget https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tgz
tar xzf Python-3.4.4.tgz

# I had to specify the location of zlib in my case
cd Python-3.4.4
./configure --with-zlib-dir=/usr/lib/x86_64-linux-gnu
sudo make altinstall

然后,我从源代码安装了cx_Freeze:

wget https://github.com/anthony-tuininga/cx_Freeze/archive/5.0.1.tar.gz
tar xzf 5.0.1.tar.gz
cd ./cx_Freeze-5.0.1/
python3.4 setup.py build
sudo python3.4 setup.py install

我还从源代码安装了pygame(因为您也正在使用它):

wget https://github.com/pygame/pygame/archive/1.9.3.tar.gz
tar xzf 1.9.3.tar.gz
cd ./pygame-1.9.3/
python3.4 setup.py build
sudo python3.4 setup.py install


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

  • 我目前正在使用pyplay模块制作游戏。我已经按照以下链接的指示。https://pythonprogramming.net/converting-pygame-executable-cx_freeze/ 我已经解决了一些问题,如KeyError KeyError:'TCL_Library',当我使用cx_Freeze时,我使用了cx_Freeze的属性错误 安装程序的构建。py已经完成了,但是当

  • 嗨,我正在学习线性代数与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,如果文件(.)