我正在尝试使用 pdftotext,但它无法导入。
我在工作笔记本电脑 Lenovo IdeaPad S340 上运行 Windows 10(64 位)。
按照指示 here 进行操作和 here (这非常有帮助),我:
- 安装了 Microsoft Visual C++ 构建工具。
- 已安装 Anaconda。
- 获取最新版本的 Anaconda 并对其进行更新,对每个步骤使用单独的 Anaconda3 命令。我不记得这些命令,也没有再找到它们。
- 更新了 Microsoft Visual 14。
- 使用 conda 通过 Anaconda3 命令安装 poppler:
conda install -c conda-forge poppler
- 使用 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/