Jieba启用Paddle分词模式报错,Python3.9环境下如何解决?
问题:Jieba启用Paddle分词模式失败的解决方法
环境与问题重现
使用版本:jieba v0.42.1、paddlepaddle-gpu v2.5.1,Python 3.9.7
尝试启用Jieba的Paddle分词模式,代码如下:
import jieba # v0.42.1 import paddle # v2.5.1 paddlepaddle-gpu paddle.enable_static() jieba.enable_paddle() text = '我是一個男生' # means "I am a boy." seg_list = jieba.cut(text, use_paddle=True)
运行后出现报错:
Import error, cannot find paddle.fluid and jieba.lac_small.predict module. Now, back to jieba basic cut...... [2023-09-12 20:33:33,413] [ DEBUG] _compat.py:50 - Import error, cannot find paddle.fluid and jieba.lac_small.predict module. Now, back to jieba basic cut......
官方建议安装paddlepaddle-tiny==1.6.1,但Python3.9.7环境中无适配包,移除enable_代码后警告消失,但需要启用Paddle模式。
解决方案
1. 安装兼容版本的PaddlePaddle
Jieba的Paddle模式依赖旧版Paddle的paddle.fluid模块,新版本Paddle已重构API。对于Python3.9,可安装paddlepaddle-gpu 2.2.0(该版本保留fluid模块且支持Python3.9):
pip install paddlepaddle-gpu==2.2.0
安装完成后,原代码无需修改,可直接运行启用Paddle模式。
2. 补充Jieba的Paddle模型依赖模块
报错提示缺少jieba.lac_small.predict模块,可手动补充:
- 执行
pip show jieba查看Jieba的安装路径 - 在该路径下创建
lac_small文件夹,放入包含__init__.py、predict.py及对应模型参数的文件(可从旧版Jieba源码中提取该模块内容)
3. 降级Python版本(备选)
若上述方法无效,可将Python降级至3.8版本,此时可正常安装官方推荐的paddlepaddle-tiny==1.6.1:
pip install paddlepaddle-tiny==1.6.1
安装完成后运行原代码即可启用Paddle模式。
内容的提问来源于stack exchange,提问作者Raptor
相关产品推荐
相关产品推荐

