Chatterbot ( ModuleNotFoundError: No module named 'spacy' )

问题描述

我一直在尝试使用 chatterbot 制作聊天机器人,但出现此错误(ModuleNotFoundError:没有名为“spacy”的模块)。请有人告诉我代码出了什么问题

import chatterbot_corpus

from chatterbot import chatbot

from chatterbot.trainers import ListTrainer



my_bot = chatbot(name="PyBot",read_only=True,logic_adapters= 
 ["chatterbot.logic.MathematicalEvaluation","chatterbot.logic.BestMatch"])

trainer = ListTrainer(my_bot)

talk = ["hi there","hello !","how are you?","how do you do ?","i\'m fine how about you?"
    ]

for iteam in (talk):  
    trainer.train(iteam)

while True:                        
    user = str(input("You: "))                                        
    responce = my_bot.get_response(user) 
    print("Bot: " + str(responce))

解决方法

看起来您导入的模块需要 spacy 才能工作。查看模块的 git,我找到了解决问题的指南:

您可以在命令提示符/终端中运行以下命令:

python -m spacy download en_core_web_sm

或者,如果您在终端内使用 anaconda 以适应您的环境

conda install -c conda-forge spacy

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...