cx_freeze 错误“cx_Freeze.freezer.ConfigError:没有名为控制台的基础”

Posted

技术标签:

【中文标题】cx_freeze 错误“cx_Freeze.freezer.ConfigError:没有名为控制台的基础”【英文标题】:cx_freeze error "cx_Freeze.freezer.ConfigError: no base named Console" 【发布时间】:2015-06-29 18:05:53 【问题描述】:

我正在尝试将我的 python 3.4 程序转换为 exe 以进行分发。我尝试使用 cx_Freeze 来做到这一点。但是,当我使用此 setup.py 运行 python setup.py build 时:

from cx_Freeze import setup, Executable

setup( name = "Converter" ,
   version = "0.1" ,
   description = "" ,
   executables = [Executable("filename.py")] , )

我收到此错误代码:

C:\Python34>python setup.py build
running build
running build_exe
Traceback (most recent call last):
  File "setup.py", line 6, in <module>
    executables = [Executable("helloworld.py")] , )
  File "C:\Python34\lib\site-packages\cx_Freeze\dist.py", line 362, in setup
    distutils.core.setup(**attrs)
  File "C:\Python34\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "C:\Python34\lib\distutils\dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "C:\Python34\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "C:\Python34\lib\distutils\command\build.py", line 126, in run
    self.run_command(cmd_name)
  File "C:\Python34\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "C:\Python34\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "C:\Python34\lib\site-packages\cx_Freeze\dist.py", line 231, in run
    metadata = metadata)
  File "C:\Python34\lib\site-packages\cx_Freeze\freezer.py", line 136, in __init__
    self._VerifyConfiguration()
  File "C:\Python34\lib\site-packages\cx_Freeze\freezer.py", line 504, in _VerifyConfiguration
    self._GetBaseFileName()
  File "C:\Python34\lib\site-packages\cx_Freeze\freezer.py", line 239, in _GetBaseFileName
    raise ConfigError("no base named %s", name)
cx_Freeze.freezer.ConfigError: no base named Console

当我尝试设置 hello world 文件时,也会出现同样的错误代码。所以这与我的脚本无关。

有什么帮助吗?这是我第一次使用 cx_Freeze。

【问题讨论】:

【参考方案1】:

看来这条线失败了argsSource.base = self._GetFileName("bases", name, ext),这意味着它找不到那个文件,这是有道理的。检查此文件夹C:\Python27\Lib\site-packages\cx_Freeze\bases 以获取Console.exe。如果没有,请尝试重新安装 cx_freeze。那是我的python目录。我会假设你的在同一个地方,但如果不只是搜索它

【讨论】:

我工作的防火墙似乎已经阻止了 \bases 目录中的所有文件,并用警告 .txt 文件替换了它们。那太好了。是时候另谋出路了。 我在工作中经常与这个问题作斗争。很郁闷 我刚刚下载安装cx freeze所跳过的漏洞已经足够了。 我可以通过下载此处找到的 python 轮来获取所需的文件:pypi.python.org/… 并用它们替换警告。【参考方案2】:

只需输入 cmd "pip uninstall cx_Freeze" 即可卸载 cx_Freeze,然后再次输入 "pip install cx_Freeze" 重新安装。

【讨论】:

以上是关于cx_freeze 错误“cx_Freeze.freezer.ConfigError:没有名为控制台的基础”的主要内容,如果未能解决你的问题,请参考以下文章

cx_freeze 错误“cx_Freeze.freezer.ConfigError:没有名为控制台的基础”

cx_Freeze 错误:未提供命令

这个 cx_Freeze 错误是啥意思?

cx_freeze 的 exe 错误

pyodbc 的 cx_freeze 错误

Python cx_freeze 构建错误