【问题标题】:Unable to install pdftotext on Python 3.6, missing poppler无法在 Python 3.6 上安装 pdftotext,缺少 poppler
【发布时间】:2017-08-28 06:08:41
【问题描述】:

如何正确安装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     

【问题讨论】:

  • 您需要安装 poppler。我不确定 pdftotext 是否支持 windows。 github页面只列出了linux的安装依赖。

标签: python installation pdftotext


【解决方案1】:

我在 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

它对我有用。

【讨论】:

【解决方案2】:

几天来,我一直在试图弄清楚如何在 Win10 上安装 pdftotext。互联网搜索没有给我任何东西。所以对于那些需要了解的人来说,这里是使用 Anaconda 在 Win10 上安装 pdftotext。 YMMV。

安装 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 中查找头文件。因此,请查看您刚刚解压缩的存档。在包含文件夹中,您会看到一个 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 directory}\Library\lib\poppler-cpp.lib 的主目录复制该文件,并将其粘贴到 pdftotext 期望它在 {Anaconda3 directory}\libs 的位置。

如果我们再次执行 pip install pdftotext,就可以了!我相信有人会找到一种方法来改进它,但现在我们在 Win10 上有一个工作的 pdftotext Python 库。

可以在我的博客https://coder.haus/2019/09/27/installing-pdftotext-through-pip-on-windows-10/ 上找到这些路线和屏幕截图

【讨论】:

  • 非常感谢您博客上的详细说明,我按照步骤操作并能够在 win10 x64 上安装 lib。只想添加一件事,在安装 C++ 构建工具时,我之前已取消选中所有 4 个可选组件,但没有它们就无法工作,因此在博客中值得一提的是它们也是必需的。它们的确切名称:MSVC v142 - VS 2019 C++ x64/x86 构建工具、Windows 10 SDK (10.0.18362.0)、适用于 Windows 的 C++ CMake 工具、测试工具核心功能 - 构建工具
  • 感谢 Harshad 的反馈,很高兴它对您有用!我会看一下说明并更新它们。需要注意的是,项目中合并了一个 PR,以使在 Windows 上的安装更容易,最终将它用于 PyPi。该项目的维护者还希望为 Windows 生成预编译的二进制文件,但没有预期的时间表。
  • 嘿伙计,非常感谢这些步骤,在 conda install -c conda-forge poppler 步骤之前,一切都运行良好。收集包元数据(current_repodata.json):完成求解环境:初始冻结求解失败。使用灵活的求解重试。解决环境:来自 current_repodata.json 的 repodata 失败,将使用下一个 repodata 源重试。收集包元数据(repodata.json):完成求解环境:初始冻结求解失败。使用灵活的求解重试。解决环境: - 发现冲突!正在寻找不兼容的软件包...
  • 然后它继续检查一堆东西,它已经连续运行了 10 个小时,但仍然没有完成。知道发生了什么吗?
  • 这在 win10 上对我来说就像一个魅力,谢谢!
【解决方案3】:

下面的命令为我解决了这个问题。

sudo apt-get install libpoppler-cpp-dev

https://blog.droidzone.in/2018/05/01/install-pdftotext-python-extension-error/

【讨论】:

    【解决方案4】:

    对于 mac 操作系统: 酿造安装poppler

    【讨论】:

      【解决方案5】:

      对于 Ubuntu 用户

      sudo apt-get install libpoppler58=0.41.0-0ubuntu1 libpoppler-dev libpoppler-cpp-dev
      

      为我工作

      【讨论】:

        【解决方案6】:

        windows 的简单解决方案:

        1. http://blog.alivate.com.au/wp-content/uploads/2018/10/poppler-0.68.0_x86.7z下载poppler zip文件
        2. https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=15下载并安装Visual Studio工具
        3. 将文件夹\poppler-0.68.0\bin设置为环境变量中的路径。

        就是这样。重新启动您的环境,例如可能是 jupyter notebook、vscode 等。享受

        【讨论】:

        • 博客不再维护。在这里下载:github.com/oschwartz10612/poppler-windows
        • OP 询问的是 Windows。这是最好的答案。
        • 要完成这项工作,我必须做的唯一额外的事情是:1) 将 /Library/lib/ 的内容复制到您的 /Libs 文件夹和 2) 复制 /Library/include/(poppler 文件夹)到 /include/
        猜你喜欢
        • 2019-02-19
        • 1970-01-01
        • 1970-01-01
        • 2018-08-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-10
        相关资源
        最近更新 更多