【发布时间】:2023-11-07 19:37:01
【问题描述】:
我正在尝试使用 pdftotext,但它不会导入。
我在一台工作笔记本电脑 Lenovo IdeaPad S340 上运行 Windows 10(64 位)。
- 已安装 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,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 页面上列出的命令还有其他选项(例如设置文件名)。
Buuuut,这不是一个令人满意的解决方案。我可以通过一个额外的步骤来处理我当前的用例任务,但我仍然无法从 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
>>>
【问题讨论】:
-
您能否分享安装库所采取的具体步骤,包括涉及 conda 的步骤?当您尝试导入库时,您是否使用了正确环境中的 Python 安装?
-
你试过了吗:
pip3 install pdftotext? -
@SuperKogito,pip3 未被识别为命令。
-
看起来您在一个 python 版本中安装了该库,同时尝试在另一个版本中调用它。好吧,您可以尝试使用
!pip install pdftotext从ipython IDLE 安装lib(这通常适用于我在Spyder 上),但我不建议使用这种方法。你能做的最好的事情是首先弄清楚你有哪些 python 版本以及它们在哪里。你可以参考this查看版本。随意发布输出,它应该有助于我们更好地理解问题。 -
@SuperKogito,是的,我从未尝试从 Anaconda3 shell 运行 Python 解释器。一直都是这样。
标签: python anaconda python-import importerror pdftotext