2

我正在尝试构建一个聊天机器人。所以我安装了chatterbot包。python代码如下:

from chatterbot import TalkWithCleverbot
talk = TalkWithCleverbot()
talk.begin()

但我收到以下错误:

 Traceback (most recent call last):
 File "C:\Users\JERIN\Desktop\bottobot.py", line 2, in <module>
   talk = TalkWithCleverbot()
 File "C:\Python27\lib\site-packages\chatterbot\__init__.py", line 157, in     __init__
 super(TalkWithCleverbot, self).__init__()
 File "C:\Python27\lib\site-packages\chatterbot\__init__.py", line 4, in  __init__
 from jsondb.db import Database
 ImportError: No module named db

我尝试安装 jsondb 和 db 包,但没有什么好处。请帮我

4

1 回答 1

7

您的错误突出了这个问题 - 没有要从中db导入的对象来jsondb调用__init__.py.

def __init__(self, name="bot", logging=True):
      from jsondb.db import Database
                  ^^ this doesn't exist

在 GitHub 上找到了“ChatterBot”模块的源代码,看来作者正在导入的“jsondb”不是从pip安装的那个。相反,作者希望您使用他的 jsondb 模块,该模块可以在 GitHub 上找到。

您可以通过卸载从 pip 检索的 jsondb 来解决此问题:

pip uninstall jsondb

并安装 ChatterBot 作者的 jsondb 模块:

pip install git+https://github.com/gunthercox/jsondb.git

您遇到此错误是因为 ChatterBot 作者假设您安装了名为 jsondb的包,并且没有以典型方式包含依赖项。

于 2015-04-14T18:14:40.350 回答