Camelot:DeprecationError:PdfFileReader 已弃用

Sai*_*yuz 20 python pypdf python-camelot

我一直在我们的项目中使用camelot,但是自两天以来我收到了以下错误消息。当尝试运行以下代码片段时:

import camelot
tables = camelot.read_pdf('C:\\Users\\user\\Downloads\\foo.pdf', pages='1')
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

DeprecationError: PdfFileReader is deprecated and was removed in PyPDF2 3.0.0. Use PdfReader instead.
Run Code Online (Sandbox Code Playgroud)

我检查了这个文件,它确实使用 pdfFileReader: c:\ProgramData\Anaconda3\lib\site-packages\camelot\handlers.py

我以为我可以指定PyPDF2的版本,但是当我安装camelot时它会自动安装(因为该库是camelot使用的)。您认为有什么解决方案可以手动指定PyPDF2的版本吗?

Mar*_*oma 32

这是问题#339

虽然希望很快就会发布包含修复程序的版本,但您仍然可以执行以下操作:

pip install 'PyPDF2<3.0'
Run Code Online (Sandbox Code Playgroud)

安装camelot后。

有关详细信息和屏幕截图,请参阅https://github.com/camelot-dev/camelot/issues/339#issuecomment-1367331630 。

  • 我尝试在 Colab 中 pip install `PyPDF2&lt;3.0` 但仍然收到错误 `DeprecationError: PdfFileReader 已弃用并在 PyPDF2 3.0.0 中被删除。请改用 PdfReader` (4认同)
  • @ChristineTan 我也有同样的问题。仔细检查您的 PyPDF2 版本(pip3 显示 PyPDF2),如果低于 3.0,请重新启动您的 kernel/venv 并重新运行您的代码。 (3认同)