无法在Python中导入chatterbot

0 python chatterbot

蟒蛇应用程序.py

Traceback (most recent call last):
  File "app.py", line 1, in <module>
    from chatbot import chatbot
  File "C:\Users\hp\Desktop\try_projects\chat_bot\chatbot.py", line 1, in <module>
    from chatterbot import ChatBot
ModuleNotFoundError: No module named 'chatterbot'
Run Code Online (Sandbox Code Playgroud)

代码是

from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer, ChatterBotCorpusTrainer
 

chatbot= ChatBot('Crazy')
Run Code Online (Sandbox Code Playgroud)

这个问题的解决方案可能是什么?蟒蛇版本:3.8.3

小智 5

尝试安装以前版本的 ChatterBot。

pip install chatterbot==1.0.4
Run Code Online (Sandbox Code Playgroud)

这应该有效,除非有其他问题。我遇到了同样的问题,它对我有用。

如果您使用 Python 3.8.x 还会出现另一个问题。在Python 3.8.x中,删除了一些模块的一些功能。您将能够导入 ChattberBot ,但是当您命名机器人时,将会出现错误。

 File "C:\Python38\lib\site-packages\sqlalchemy\util\compat.py", line 264, in <module>
time_func = time.clock
AttributeError: module 'time' has no attribute 'clock'
Run Code Online (Sandbox Code Playgroud)

复制最后一行中给出的发生错误的文件的位置。

C:\Python38\lib\site-packages\sqlalchemy\util\compat.py
Run Code Online (Sandbox Code Playgroud)

使用 IDLE 或任何您拥有的编辑器打开文件。请不要直接打开该文件(这将运行该文件,并且您将无法看到代码),而是使用 IDLE 或您的文本编辑器打开然后,转到该文件中的第 264 行。会写成

time_func = time.clock
Run Code Online (Sandbox Code Playgroud)

而不是将其更改为

time_func = time.perf_counter()
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助!这是我在 StackOverflow 上的第一个回答!