在Python 3.6上无法安装pdftotext,缺少poppler。

35

我该如何正确安装pdftotext?

当我在Python 3.6中安装pdftotext时,出现了以下错误信息。我还尝试通过下载zip文件手动安装软件包,但仍然遇到了相同的错误。

  pdftotext/pdftotext.cpp(4): fatal error C1083: Cannot open include file: 'poppler/cpp/poppler-document.h': No such file or directory
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 2     

1
您需要安装Poppler。我不确定pdftotext是否支持Windows。Github页面仅列出了Linux的安装依赖项。 - Håken Lid
7个回答

73

我在 pdftotext 包的 Readme.md 文件中找到了一些帮助:

1)安装操作系统依赖项:

对于 Debian、Ubuntu 和相关系统:

sudo apt-get update
sudo apt-get install build-essential libpoppler-cpp-dev pkg-config python-dev

在 Fedora、Red Hat 及其相关的发行版中:

sudo yum install gcc-c++ pkgconfig poppler-cpp-devel python-devel redhat-rpm-config

2)按照正常安装流程进行安装:

pip install pdftotext

而且它对我有效。


非常感谢。对我也起作用了。 - Philippe Delteil
1
谢谢。以下是自述文件链接:https://github.com/jalan/pdftotext/blob/master/README.md - Hammurabi

29

我已经尝试了几天如何在Win10上安装pdftotext,但是互联网搜索并没有给我带来任何结果。因此,对于那些需要知道的人,在Win10上使用Anaconda安装pdftotext。可能会因人而异。

安装Anaconda Python。有许多关于安装Anaconda的文章,因此我不会在这里探讨。

尝试运行pip install pdftotext,你将收到一个错误,需要Microsoft Visual C++。

在浏览器中导航到http://visualstudio.microsoft.com/downloads。在Visual Studio 2019工具选项卡下下载Visual Studio 2019构建工具。然后通过勾选C++构建工具选项框并单击“安装”来安装工具。

现在,您应该可以继续执行pip install命令以跳过VC++错误。不幸的是,您现在会遇到错误“无法打开包括文件:'poppler/cpp/poppler-document.h”。这是因为您缺少poppler库。

回到互联网!你需要为Windows安装poppler。在撰写本文时,你最好的选择是http://blog.alivate.com.au/poppler-windows。下载最新的二进制文件并解压缩。如果你查看错误消息,pip正在寻找位于{Anaconda3目录}\include\poppler\cpp\poppler-document.h的头文件。因此,请查看刚刚解压缩的存档。在include文件夹中,你会看到一个poppler目录。如果你进入其中的cpp目录,你会找到poppler-document.h文件。

我将整个poppler目录复制到了Anaconda3\include文件夹中,所以请这样做。

如果你尝试再次运行pip install,你仍然会得到很多错误!但这些不是你之前看到的任何错误,相反,这个错误是在寻找一个缺失的链接库,即poppler-cpp.lib。在另一台机器上搜索Conda安装程序,可以在poppler软件包中找到这个文件。所以,

conda install -c conda-forge poppler

这将安装我们的poppler-cpp.lib文件。然后,我们可以从其所在位置{Anaconda3目录}\Library\lib\poppler-cpp.lib复制该文件,并将其粘贴到pdftotext期望它在{Anaconda3目录}\libs的位置。

如果我们再次运行pip install pdftotext,它就可以正常运行了!我相信有人会找到一种更好的方法来完善这个过程,但现在我们在Win10上有一个可用的pdftotext Python库。

这些步骤可以在我的博客https://coder.haus/2019/09/27/installing-pdftotext-through-pip-on-windows-10/中找到,其中包含了截图。


1
感谢您的反馈Harshad,很高兴它对您有效!我会查看说明并进行更新。需要注意的是,该项目已合并了一个PR以使Windows上的安装更加简单,最终会推送到PyPi。该项目的维护者还在寻找生成Windows的预编译二进制文件,但没有预期时间表。 - Jason Woods
1
它接着会检查一些东西,已经连续运行了10个小时,但还没有完成。你知道发生了什么吗? - Ming Xuan
我认为这很棒,但是有没有无法安装Visual Studio 2019构建工具的解决方法?我正在使用一台受限制的笔记本电脑,我们不允许安装此软件。 - clover
运行良好!谢谢 - Alessandro Corradini
1
这在我的Win10上非常好用,谢谢! - mrbTT
显示剩余5条评论

21

15

对于 macOS 系统:

brew install poppler

brew install pkg-config poppler python


3

1
该博客已不再维护。在此下载:https://github.com/oschwartz10612/poppler-windows - Owen Schwartz
1
OP 询问关于 Windows 的问题,这是最佳答案。 - Jeroen
1
唯一需要做的额外事情是:1)将<poppler>/Library/lib/文件夹中的内容复制到您的<python>/Libs文件夹中, 2)将<poppler>/Library/include/文件夹中(一个poppler文件夹)的内容复制到<python>/include/文件夹中。 - Jeroen

0

要在Windows 10上安装pdftotext,我尝试遵循Jason Woods的答案。

我想补充一下这个答案,需要在Visual Studio中安装"C++桌面应用程序开发"包。

确保还安装了"C++构建工具",如Jason Woods的答案所述。

按照他的答案的其余部分。 快速摘要:

  • 安装Anaconda Python
  • 在Anaconda提示符中,键入:conda install -c conda-forge poppler
  • 现在安装pdftotext包:pip install pdftotext

对我有用。 谢谢。


0
对于Ubuntu用户。
sudo apt-get install libpoppler58=0.41.0-0ubuntu1 libpoppler-dev libpoppler-cpp-dev

对我有用


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接