无法从charset_normalizer.constant导入COMMON_SAFE_ASCII_CHARACTERS的解决方法
错误原因与修复方案
错误原因
这个导入错误并非pdfminer-six本身的问题,根源是依赖库charset_normalizer的版本不兼容:
- 你的conda环境中
charset_normalizer被自动更新到了较新版本,该版本移除了COMMON_SAFE_ASCII_CHARACTERS常量; - 当前安装的pdfminer-six版本依赖旧版
charset_normalizer的该常量,导致导入失败。
修复方法
方法1:回退charset_normalizer到兼容版本
激活你的conda环境后,安装一个包含目标常量的稳定旧版本:
conda activate 你的环境名称 pip install charset-normalizer==2.0.12
注:2.1.0及之前的版本均包含该常量,可根据实际情况选择。
方法2:升级pdfminer-six到最新适配版本
如果pdfminer-six的最新版本已经适配了新版charset_normalizer,直接执行升级:
conda activate 你的环境名称 pip install --upgrade pdfminer-six
方法3:锁定依赖版本(预防后续问题)
为避免后续依赖自动更新引发类似问题,可在项目的requirements.txt中添加固定版本约束:
pdfminer-six==20221105 charset-normalizer==2.0.12
然后执行以下命令同步依赖:
pip install -r requirements.txt
内容的提问来源于stack exchange,提问作者Lena.J
相关产品推荐
相关产品推荐

