运行rasa init时出现pkg_resources弃用警告,如何解决?
解决
rasa init时的pkg_resources弃用警告问题 运行rasa init时出现以下弃用警告,即使已将setuptools升级到最新版75.1.0(Python 3.8.20),问题仍未解决:
D:\Program\anaconda\envs\Rasa\lib\site-packages\rasa\shared\utils\validation.py:134: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html import pkg_resources D:\Program\anaconda\envs\Rasa\lib\site-packages\pkg_resources\__init__.py:3154: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('mpl_toolkits')`. Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages declare_namespace(pkg) D:\Program\anaconda\envs\Rasa\lib\site-packages\pkg_resources\__init__.py:3154: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('ruamel')`. Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages declare_namespace(pkg)
解决方法
这些警告源于Rasa或其依赖库使用了已被setuptools弃用的pkg_resources API,不影响核心功能,可按以下方式处理:
1. 临时屏蔽警告
在Windows命令行中先执行环境变量设置,再启动rasa init:
set PYTHONWARNINGS="ignore::DeprecationWarning" rasa init
2. 永久屏蔽特定警告
创建自定义启动脚本run_rasa.py,添加警告过滤规则:
import warnings # 屏蔽pkg_resources相关的弃用警告 warnings.filterwarnings("ignore", category=DeprecationWarning, module="pkg_resources") warnings.filterwarnings("ignore", category=DeprecationWarning, message=r".*declare_namespace.*") from rasa.__main__ import main main()
之后通过python run_rasa.py init代替直接执行rasa init。
3. 从根源修复(需注意兼容性)
- 升级Rasa到最新稳定版,新版本可能已替换
pkg_resources的使用:pip install --upgrade rasa - 尝试更新相关依赖库(如
ruamel.yaml、matplotlib)到兼容最新setuptools的版本,但需确保不会破坏Rasa的依赖链:pip install --upgrade ruamel.yaml matplotlib
内容的提问来源于stack exchange,提问作者PhanTr
相关产品推荐
相关产品推荐

