Mac安装AutoGPT遇AttributeError: 'TTSHandler'无'level'属性求助
AutoGPT安装报错:AttributeError: 'TTSHandler' object has no attribute 'level' 解决方法
问题背景
- 系统环境:Mac,Python 3.10 + pip
- 已执行
pip install -r requirements.txt安装依赖 - 启动AutoGPT时触发错误:
AttributeError: 'TTSHandler' object has no attribute 'level',完整报错日志:
2023-08-30 16:53:35,439 WARNING You are running on `master` branch - this is not a supported branch. 2023-08-30 16:53:36,256 INFO Welcome to Auto-GPT! run with '--help' for more information.Traceback (most recent call last): File "/usr/local/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python3.10/runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "/usr/local/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python3.10/runpy.py", line 86, in _run_code exec(code, run_globals) File "/Users/sharron.x/Auto-GPT/autogpt/__main__.py", line 5, in <module> autogpt.app.cli.main() File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1157, in __call__ return self.main(*args, **kwargs) File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1078, in main rv = self.invoke(ctx) File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1666, in invoke rv = super().invoke(ctx) File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1434, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/local/lib/python3.10/site-packages/click/core.py", line 783, in invoke return __callback(*args, **kwargs) File "/usr/local/lib/python3.10/site-packages/click/decorators.py", line 33, in new_func return f(get_current_context(), *args, **kwargs) File "/Users/sharron.x/Auto-GPT/autogpt/app/cli.py", line 121, in main run_auto_gpt( File "/Users/sharron.x/Auto-GPT/autogpt/app/main.py", line 152, in run_auto_gpt ai_config = construct_main_ai_config( File "/Users/sharron.x/Auto-GPT/autogpt/app/main.py", line 504, in construct_main_ai_config ai_config = interactive_ai_config_setup(config) File "/Users/sharron.x/Auto-GPT/autogpt/app/setup.py", line 38, in interactive_ai_config_setup user_friendly_output( File "/Users/sharron.x/Auto-GPT/autogpt/logs/helpers.py", line 29, in user_friendly_output logger.log(level, message, extra={"title": title, "title_color": title_color}) File "/usr/local/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python3.10/logging/__init__.py", line 1547, in log self._log(level, msg, args, **kwargs) File "/usr/local/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python3.10/logging/__init__.py", line 1624, in _log self.handle(record) File "/usr/local/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python3.10/logging/__init__.py", line 1634, in handle self.callHandlers(record) File "/usr/local/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python3.10/logging/__init__.py", line 1695, in callHandlers if record.levelno >= hdlr.level: AttributeError: 'TTSHandler' object has no attribute 'level'
解决方法
方法1:切换到官方支持的稳定分支
日志提示当前运行在master分支(不被支持),切换到稳定分支可解决大部分兼容问题:
- 进入AutoGPT目录,执行:
git checkout stable - 重新升级安装依赖:
pip install -r requirements.txt --upgrade - 重新启动AutoGPT。
方法2:修复TTSHandler类的继承问题
如果不想切换分支,可手动修正TTSHandler的类定义:
- 找到AutoGPT目录下的
autogpt/tts/__init__.py文件(若路径不同,搜索包含class TTSHandler的文件)。 - 修改类定义,确保继承自
logging.Handler并调用父类初始化:import logging class TTSHandler(logging.Handler): def __init__(self): super().__init__() # 调用父类初始化方法,继承level等属性 # 其他原有代码保持不变 - 保存文件后重新启动AutoGPT。
方法3:临时禁用TTS功能快速绕过
若不需要语音播报功能,可直接禁用TTS:
- 在AutoGPT目录下找到
.env文件(没有则复制.env.template重命名为.env)。 - 添加或修改一行:
TTS_ENABLED=False - 保存文件后重新启动AutoGPT。
内容的提问来源于stack exchange,提问作者Sharron X
相关产品推荐
相关产品推荐

