执行rasa init提示找不到past模块,但已安装future库如何解决?
解决rasa init训练模型时ModuleNotFoundError: No module named 'past'的问题
问题背景
使用Python 3.9.13 + venv虚拟环境执行rasa init并选择初始训练时,触发以下错误:
Finished creating project structure. ? Do you want to train an initial model? 💪🏽 Yes Training an initial model... Traceback (most recent call last): File "C:\Users\ayu\AppData\Local\Programs\Python\Python39\lib\runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\ayu\AppData\Local\Programs\Python\Python39\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\ayu\chat\Scripts\rasa.exe\__main__.py", line 7, in <module> File "C:\Users\ayu\chat\lib\site-packages\rasa\__main__.py", line 133, in main cmdline_arguments.func(cmdline_arguments) File "C:\Users\ayu\chat\lib\site-packages\rasa\cli\scaffold.py", line 238, in run init_project(args, path) File "C:\Users\ayu\chat\lib\site-packages\rasa\cli\scaffold.py", line 132, in init_project print_train_or_instructions(args) File "C:\Users\ayu\chat\lib\site-packages\rasa\cli\scaffold.py", line 64, in print_train_or_instructions training_result = rasa.train( File "C:\Users\ayu\chat\lib\site-packages\rasa\api.py", line 103, in train from rasa.model_training import train File "C:\Users\ayu\chat\lib\site-packages\rasa\model_training.py", line 7, in <module> import rasa.engine.validation File "C:\Users\ayu\chat\lib\site-packages\rasa\engine\validation.py", line 33, in <module> from rasa.engine.constants import RESERVED_PLACEHOLDERS File "C:\Users\ayu\chat\lib\site-packages\rasa\engine\constants.py", line 3, in <module> from rasa.core.channels import UserMessage File "C:\Users\ayu\chat\lib\site-packages\rasa\core\channels\__init__.py", line 25, in <module> from rasa.core.channels.webexteams import WebexTeamsInput File "C:\Users\ayu\chat\lib\site-packages\rasa\core\channels\webexteams.py", line 7, in <module> from webexteamssdk import WebexTeamsAPI, Webhook File "C:\Users\ayu\chat\lib\site-packages\webexteamssdk\__init__.py", line 40, in <module> from .api import WebexTeamsAPI File "C:\Users\ayu\chat\lib\site-packages\webexteamssdk\api\__init__.py", line 25, in <module> from past.types import basestring ModuleNotFoundError: No module named 'past'
已卸载重装future库,但问题仍存在。
解决方案
- 确保虚拟环境已激活:执行操作前确认当前终端已激活目标venv,Windows下运行
C:\Users\ayu\chat\Scripts\activate,Linux/macOS下运行source chat/bin/activate,避免库安装到全局Python环境而非当前虚拟环境。 - 重新在虚拟环境内安装future库:激活venv后执行命令:
pip install futurepast是future库的子模块,此操作会确保past模块被正确安装到当前虚拟环境中。 - 检查Rasa版本兼容性:Python 3.9需搭配兼容的Rasa版本(如3.6.x系列),若当前安装的Rasa版本与Python 3.9不兼容,可指定版本安装:
pip install rasa==3.6.20 - 重置虚拟环境:若以上步骤无效,删除现有虚拟环境,重新创建并安装依赖:
- 删除旧venv文件夹:
rm -rf chat(Linux/macOS)或手动删除C:\Users\ayu\chat(Windows) - 新建虚拟环境:
python -m venv chat - 激活虚拟环境,执行
pip install rasa,再重新运行rasa init
- 删除旧venv文件夹:
内容的提问来源于stack exchange,提问作者scarlet_wren_tree
相关产品推荐
相关产品推荐

