Camelot报DeprecationError:如何手动指定PyPDF2版本?
解决Camelot与PyPDF2 3.0+的兼容问题
可以通过指定PyPDF2的兼容版本来解决这个报错,步骤如下:
- 先卸载当前的PyPDF2版本:
pip uninstall -y PyPDF2 - 安装PyPDF2 2.x系列的稳定版本(比如2.12.1,该版本与Camelot兼容良好):
pip install PyPDF2==2.12.1 - 为避免后续环境更新时再次触发问题,建议在项目的
requirements.txt里锁定版本范围:PyPDF2<3.0.0
补充说明
Camelot当前版本的代码(handlers.py中)仍在使用PyPDF2旧版的PdfFileReader类,而PyPDF2 3.0.0已移除该类并替换为PdfReader,二者API存在差异才导致报错。
如果不想回退版本,也可以手动修改Camelot库的handlers.py文件:把所有PdfFileReader替换为PdfReader,同时调整相关调用逻辑(比如PDF读取方式),但这种修改不推荐——因为后续更新Camelot时会覆盖你的改动。更稳妥的方式是等待Camelot官方发布适配PyPDF2 3.0+的版本。
内容的提问来源于stack exchange,提问作者Said Akyuz
相关产品推荐
相关产品推荐

