运行Rasa_core的moodbot示例时触发ImportError,求原因分析
解决Rasa Core中ImportError: 无法导入名称'RasaNLUConfig'的问题
这个错误的核心原因是Rasa Core与Rasa NLU的版本不兼容,再加上你使用的Python 3.5本身对新版Rasa的支持有限,具体拆解来看:
可能的原因
- 版本不匹配导致的API变更:旧版本的Rasa Core(比如0.13.x及之前)依赖Rasa NLU中的
RasaNLUConfig类,但在Rasa NLU 0.15.x及之后的版本里,这个类被移除并替换成了Config(导入路径也变为rasa_nlu.config.Config)。如果你安装的Rasa NLU版本较新,而Rasa Core版本偏旧,就会触发这个导入错误。 - Python 3.5的版本限制:Rasa从1.0.x版本开始就不再支持Python 3.5了,如果你尝试安装新版Rasa,不仅会因为Python版本导致依赖安装异常,还会进一步加剧组件间的版本不兼容问题。
- 分散安装的问题:如果你是分开安装
rasa_core和rasa_nlu,而不是使用合并后的rasa包,很容易出现两者版本不匹配的情况——毕竟后来Rasa官方已经将Core和NLU整合为一个统一的包来维护了。
具体解决步骤
卸载现有冲突的Rasa组件
打开命令提示符,执行以下命令彻底卸载已安装的Rasa相关包:pip uninstall -y rasa_core rasa_nlu rasa安装兼容Python 3.5的匹配版本
针对Python 3.5,推荐安装以下经过验证的兼容版本:pip install rasa_core==0.13.8 rasa_nlu==0.14.6这两个版本的Core和NLU是完全匹配的,且都支持Python 3.5,
RasaNLUConfig类也依然存在于这个版本的Rasa NLU中。重新训练模型并运行
重新完成moodbot示例的模型训练步骤,之后再执行你原来的运行命令:python -m rasa_core.run -d models/dialogue -u models/nlu/default/current
内容的提问来源于stack exchange,提问作者bthe0
相关产品推荐
相关产品推荐

