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的版本吗?

Said Akyuz 提问于2022-12-28
camelot的要求中,规定它需要PyPDF2>=1.26.0。因此,只要你安装一个满足该要求的版本,一切都应该是好的。关于这个问题的一个问题已经存在于他们的GitHub上。Clasherkasten 2022-12-28
你可以尝试手动安装该软件包:pip install pypdf<3.0.0Stefano 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,以了解详情和截图。

Martin Thoma 提问于2022-12-30
Martin Thoma 修改于2023-02-16
我试着在Colab中安装了pip PyPDF2<3.0,但还是收到了错误DeprecationError: PdfFileReader is deprecated and was removed in PyPDF2 3.0.0. Use PdfReader insteadChristine 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/

pierofoust 提问于2023-03-17
你不需要Uninstaller。只需用--upgrade进行升级Martin Thoma 2023-03-18
已经有了一个答案。请看 这个Said Akyuz 2023-03-20