python - 使用 conda 和 poppler 安装后无法导入 pdftotext,Windows 10

标签 python anaconda python-import importerror pdftotext

我正在尝试使用 pdftotext,但它无法导入。

我在工作笔记本电脑 Lenovo IdeaPad S340 上运行 Windows 10(64 位)。

按照指示 here 进行操作和 here (这非常有帮助),我:

  1. 安装了 Microsoft Visual C++ 构建工具。
  2. 已安装 Anaconda。
  3. 获取最新版本的 Anaconda 并对其进行更新,对每个步骤使用单独的 Anaconda3 命令。我不记得这些命令,也没有再找到它们。
  4. 更新了 Microsoft Visual 14。
  5. 使用 conda 通过 Anaconda3 命令安装 poppler:conda install -c conda-forge poppler
  6. 使用 pip 通过 Anaconda3 命令安装 pdftotext:pip install pdftotext

之后:

这发生在 Python 3.8(32 位)命令提示符中:

>>> import pdftotext
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pdftotext'
>>>

这发生在 IDLE 的 Python 3.75 Shell(64 位)中:

>>> import pdftotext
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import pdftotext
ModuleNotFoundError: No module named 'pdftotext'
>>> 

这发生在 Anaconda3 命令提示符中:

import pdftotext
'import' is not recognized as an internal or external command,
operable program or batch file.

这也会发生在 Anaconda3 命令提示符中:

pip install pdftotext
Requirement already satisfied: pdftotext in c:\programdata\anaconda3\lib\site-packages (2.1.4)

这是否意味着它只能在 Python 2 中运行?我该如何事先检查呢?如果它只能在 Python 2 上运行,您能否推荐一个 Python 3 包/模块/库(顺便说一句,有什么区别?)用于将 PDF 读取为纯文本文件?

感谢您的帮助!

更新:

我在同一台机器和操作系统上使用一个新用户重新开始(另一个用户的名称中有一个空格,因此它的文件路径有一个空格,这可能会导致问题)。我也遇到了同样的问题。

我有 Python 3.7.6 和 3.8.1。通过 Anaconda3 提示符 python -V 检查版本时显示的是 Python 3.7.6(使用 conda info 时为 3.7.6.final.0)。

我还有:

  • Anaconda 版本“自定义”,构建 py37_1。
  • conda 4.8.2、py37_0、 channel conda-forge。
  • poppler 0.84.0、h1affe6b_0、conda-forge。
  • pdftotext 2.1.4、pypi_0、pypi。

我在这里找到了 Python:C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64。

我用眼睛在程序文件、用户文件和 Anaconda Navigator 上进行了搜索,并在整个 C 驱动器中搜索了“pdftotext”,但没有找到任何有关 pdftotext 的内容。

从 IDLE 的 Python 3.7.6 shell 进行尝试也不起作用。

更新:

我大概明白了。 pdftotext 不能作为 Python 导入,如 example code in PyPI使用它。但是,它确实可以用作 command line tool that is part of Xpdf ,完成这些步骤后无需额外安装。

我在 Anaconda3 PowerShell 命令提示符中使用了该命令:

pdftotext C:\filepath\file.pdf

然后它创建了一个同名的文本文件并将其保存在同一文件夹中。我上面链接的 Xpdf 页面上概述的命令还有其他选项(例如设置文件名)。

但是,这不是一个令人满意的解决方案。我可以通过额外的步骤处理当前的用例任务,但我仍然无法从 Python 程序中调用 pdftotext。

更新:

如果您使用 Anaconda 和 conda 安装 pdftotext,则导入似乎仅当您在 Anaconda3 shell 中的 Python 解释器中运行它时才有效。

因此,我必须先在 Anaconda3 PowerShell 中切换到 Python 解释器模式:python

然后,我可以毫无错误地导入 pdftotext:import pdftotext

它看起来像这样:

(user)> python
Python 3.7.6 (default, Jan  8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pdftotext
>>> 

最佳答案

我也遇到了同样的问题,但执行以下操作后,效果非常好!

sudo apt install build-essential libpoppler-cpp-dev pkg-config python3-dev

pip install pdftotext

关于python - 使用 conda 和 poppler 安装后无法导入 pdftotext,Windows 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59959978/

相关文章:

python - 类(非实例)变量是否有类似 '__getattribute__' 的方法?

python - 使用 CSS 选择器单击按钮

python - Conda 安装命令失败

python - ChemPy : clang: error: unsupported option '-fopenmp'

python - 用于 pypi/pip 导入和本地运行脚本的正确包组织

python - 对 NumPy 数组执行运算,但从这些运算中屏蔽沿对角线的值

python - 检测正则表达式中的拉丁字符

python - Anaconda 找不到 OpenCV

Python 3 模块相对导入错误

python - 导入内容的对象范围如何工作?