You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行make train-core时遭遇DLL加载失败错误求助

解决make train-core时的Protobuf DLL加载失败问题

你遇到的这个DLL加载错误其实和德语版spacy_sklearn关系不大,核心问题出在TensorFlow依赖的Google Protobuf库在Windows环境下的兼容性上。下面是几个经过验证的解决步骤:

1. 匹配TensorFlow与Protobuf的版本

不同版本的TensorFlow对Protobuf有严格的版本约束,版本不兼容是触发这类DLL错误的常见原因:

  • 先查看当前安装的TensorFlow版本:
    pip show tensorflow
    
  • 卸载当前的Protobuf:
    pip uninstall protobuf -y
    
  • 根据TensorFlow版本安装对应兼容的Protobuf版本(如果是rasa-stack starter pack常用的TensorFlow 1.x版本,推荐安装3.9.2):
    pip install protobuf==3.9.2
    

2. 安装Visual C++运行库

Windows下很多Python扩展的DLL依赖Visual C++ Redistributable运行库,缺少它会导致加载失败:

  • 下载并安装Visual C++ Redistributable for Visual Studio 2015-2019(选择和你系统匹配的x86/x64版本),安装完成后重启电脑再尝试运行命令。

3. 重新安装TensorFlow(修复损坏的安装)

如果TensorFlow的安装文件有损坏,也可能导致依赖库加载异常:

  • 完全卸载现有TensorFlow:
    pip uninstall tensorflow -y
    
  • 重新安装和rasa-stack starter pack兼容的TensorFlow版本(推荐1.15.5,适配旧版rasa-core):
    pip install tensorflow==1.15.5
    

4. 验证Spacy德语模型(排除干扰)

虽然大概率不是Spacy的问题,但可以快速验证模型是否正常:

  • 运行模型验证命令:
    python -m spacy validate
    
  • 如果提示模型异常,重新安装德语模型:
    python -m spacy download de_core_news_sm
    

错误原因分析

从你的报错堆栈可以看到,错误发生在导入google.protobuf.pyext._message时,这是Protobuf的C扩展模块加载失败。通常是以下情况导致:

  • TensorFlow和Protobuf版本不匹配
  • Windows系统缺少必要的VC++运行库
  • TensorFlow或Protobuf的安装文件损坏

内容的提问来源于stack exchange,提问作者schy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 05:15:09