在CentOS7服务器部署Colab训练的BERT NER模型时遇_lzma模块缺失错误
解决CentOS7下Python3.9缺失_lzma模块的问题
问题原因
CentOS7默认未安装xz-devel开发库,导致Python3.9编译时未包含_lzma模块,运行依赖该模块的库(如datasets)时触发ModuleNotFoundError。
解决步骤
1. 安装系统依赖
执行以下命令安装xz开发库:
sudo yum install -y xz-devel
2. 重新编译Python3.9
如果你的Python3.9是通过源码编译安装的:
- 进入Python3.9源码目录,执行:
./configure --enable-optimizations make sudo make altinstall
注意:使用
altinstall避免覆盖系统默认Python版本。
如果使用pyenv管理Python版本:
- 先卸载现有3.9版本:
pyenv uninstall 3.9.x # 替换为你的具体版本号,如3.9.16
- 重新安装Python3.9:
pyenv install 3.9.x
3. 验证修复
进入Python3.9交互环境,执行:
import lzma
若未报错,说明模块已成功安装。
4. 重新部署服务
- 若使用虚拟环境,需重新创建虚拟环境并安装所有依赖包(
flask、simpletransformers等) - 启动Flask服务,验证功能正常
额外优化建议
你的部署代码中,model_args.lazy_loading = True设置在模型初始化之后,不会生效。应调整为初始化模型前配置参数:
model_args = NERArgs() model_args.lazy_loading = True model = NERModel('bert', './checkpoint-14000', use_cuda=False, args=model_args)
内容的提问来源于stack exchange,提问作者miladjurablu
相关产品推荐
相关产品推荐

