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:没有名为控制台的基础”的主要内容,如果未能解决你的问题,请参考以下文章