首页 > 解决方案 > 运行简单的聊天机器人脚本时出现 utils.initialize_class 错误

问题描述

我正在使用 Python 学习和构建一个聊天机器人。我从写一个简单的聊天框开始。当我运行代码时,它会出错。

我正在使用 Python 3.8.5、chatterbot 1.0.4 和 Atom IDE

from chatterbot import ChatBot
from chatterbot.trainers import ChatterBotCorpusTrainer

chatbot = ChatBot('Javis')

trainer = ChatterBotCorpusTrainer(chatbot)
trainer.train("chatterbot.corpus.english")
response = chatbot.get_response("Hello, how are you today?")
print(response)

当我在 Atom platformio-ide-terminal 上运行代码时,它会引发错误

Traceback (most recent call last):
  File "chatbot.py", line 4, in <module>
    chatbot = ChatBot('Bon')
  File "C:\Python\Python38-32\lib\site-packages\chatterbot\chatterbot.py", line 34, in __init__
    self.storage = utils.initialize_class(storage_adapter, **kwargs)
  File "C:\Python\Python38-32\lib\site-packages\chatterbot\utils.py", line 54, in initialize_class
    return Class(*args, **kwargs)
  File "C:\Python\Python38-32\lib\site-packages\chatterbot\storage\sql_storage.py", line 22, in __init__
    from sqlalchemy import create_engine
  File "C:\Python\Python38-32\lib\site-packages\sqlalchemy\__init__.py", line 8, in <module>
    from . import util as _util  # noqa

  File "C:\Python\Python38-32\lib\site-packages\sqlalchemy\util\__init__.py", line 14, in <module>
    from ._collections import coerce_generator_arg  # noqa
  File "C:\Python\Python38-32\lib\site-packages\sqlalchemy\util\_collections.py", line 16, in <module>
    from .compat import binary_types
  File "C:\Python\Python38-32\lib\site-packages\sqlalchemy\util\compat.py", line 264, in <module>
    time_func = time.clock
AttributeError: module 'time' has no attribute 'clock'

标签: pythonpython-3.xchatterbot

解决方案


自 3.3 版本的 python 起,函数 time.clock 已被弃用。请在此处查看参考AttributeError: module 'time' has no attribute 'clock' in Python 3.8,可能有用。


推荐阅读