Camelot:DeprecationError:PdfFileReader已被废弃
回答 2
浏览 1.9万
2022-12-28
我一直在为我们的项目使用camelot,但从两天前开始我得到了以下错误信息。当试图运行以下代码片段时:
import camelot
tables = camelot.read_pdf('C:\\Users\\user\\Downloads\\foo.pdf', pages='1')
我得到的是这个错误:
DeprecationError: PdfFileReader is deprecated and was removed in PyPDF2 3.0.0. Use PdfReader instead.
我检查了这个文件,它确实使用了pdfFileReader:c:\ProgramData\Anaconda3\lib\site-packages\camelot\handlers.py
我想我可以指定PyPDF2的版本,但它会在我安装camelot时自动安装(因为该库被camelot使用)。你认为有什么办法可以手动指定PyPDF2的版本吗?
在
camelot
的要求中,规定它需要PyPDF2>=1.26.0
。因此,只要你安装一个满足该要求的版本,一切都应该是好的。关于这个问题的一个问题已经存在于他们的GitHub上。
- Clasherkasten 2022-12-28
你可以尝试手动安装该软件包:
pip install pypdf<3.0.0
- Stefano Fiorucci - anakin87 2022-12-29
2 个回答
#1楼
已采纳
得票数 14
这是第339号问题。
虽然希望很快就会有一个包括修复的版本,但你仍然可以这样做:
pip install 'PyPDF2<3.0'
在你安装了camelot之后,你就会发现。
请参阅https://github.com/camelot-dev/camelot/issues/339#issuecomment-1367331630,以了解详情和截图。
我试着在Colab中安装了pip
PyPDF2<3.0
,但还是收到了错误DeprecationError: PdfFileReader is deprecated and was removed in PyPDF2 3.0.0. Use PdfReader instead
。
- Christine Tan 2023-01-12
你仍然有
PyPDF2>=3.0
。这个错误信息在3.0之前并不存在。
- Martin Thoma 2023-01-12
@ChristineTan 我也有这个问题。仔细检查你的PyPDF2版本(pip3显示PyPDF2),如果低于3.0,请重新启动你的内核/venv,然后重新运行你的代码。
- Celi Manu 2023-02-02
#2楼
得票数 -1
我解决了这个问题卸载camelot-py,然后重新安装,包括"extra cv requirement",就像这样:
pip install "camelot-py[base]"
我希望它能成为有用的东西!
来源:https://readthedocs.org/projects/camelot-py/downloads/pdf/master/
你不需要Uninstaller。只需用--upgrade进行升级
- Martin Thoma 2023-03-18