背景
在启动rasa项目时报错(rasa run actions报错)
完整报错
PS D:\python\rasa_project_for_windows\rasa_data> rasa run actions
Traceback (most recent call last):
File "D:\pycharm\anaconda\lib\runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "D:\pycharm\anaconda\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "D:\pycharm\anaconda\Scripts\rasa.exe\__main__.py", line 4, in <module>
File "D:\pycharm\anaconda\lib\site-packages\rasa\__init__.py", line 3, in <module>
from rasa import version, plugin # noqa: F401
File "D:\pycharm\anaconda\lib\site-packages\rasa\plugin.py", line 9, in <module>
from rasa.engine.storage.storage import ModelMetadata
File "D:\pycharm\anaconda\lib\site-packages\rasa\engine\storage\storage.py", line 14, in <module>
from rasa.engine.storage.resource import Resource
File "D:\pycharm\anaconda\lib\site-packages\rasa\engine\storage\resource.py", line 9, in <module>
import rasa.utils.common
File "D:\pycharm\anaconda\lib\site-packages\rasa\utils\common.py", line 29, in <module>
import rasa.utils.io
File "D:\pycharm\anaconda\lib\site-packages\rasa\utils\io.py", line 15, in <module>
import rasa.shared.utils.io
File "D:\pycharm\anaconda\lib\site-packages\rasa\shared\utils\io.py", line 34, in <module>
import rasa.shared.utils.validation
File "D:\pycharm\anaconda\lib\site-packages\rasa\shared\utils\validation.py", line 6, in <module>
from packaging.version import LegacyVersion
ImportError: cannot import name 'LegacyVersion' from 'packaging.version' (D:\pycharm\anaconda\lib\site-packages\packaging\version.py)
解决方案
这个报错和Rasa项目中的依赖库有关,是在导入“packaging.version”模块的"LegacyVersion"时出现了问题。
解决方案①:更新依赖。尝试更新你的Rasa项目的依赖库,包括packaging库。在命令行中进入你的项目目录,运行以下命令更新依赖:
pip install -U rasa
如果报错是因为依赖库版本不匹配,更新依赖可能会解决问题。
解决方案②:清理缓存。
python -m site --user-site
然后再运行rasa run actions
解决方案③:虚拟环境。如果你在使用虚拟环境,请确保你在正确的虚拟环境中运行你的Rasa项目命令。有时候环境切换会导致依赖冲突。
解决方案④:检查依赖冲突。
你可以使用以下命令来查看项目的依赖树,确保没有多个版本的packaging库存在:
pip list
解决方案⑤:卸载并重新安装包。
pip uninstall packaging
pip install packaging