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



我正在尝试使用pdftotext,但它不会导入。

我在联想IdeaPad S340(一台工作笔记本电脑(上运行Windows 10(64位(。

按照这里和这里的指示(超级有帮助(,我:

  1. 已安装Microsoft可视化C++生成工具。
  2. 安装了蟒蛇。
  3. 获取最新版本的 Anaconda 并对其进行更新,为每个步骤使用单独的 Anaconda3 命令。我不记得这些命令,也没有再次找到它们。
  4. Microsoft视觉 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:programdataanaconda3libsite-packages (2.1.4)

这是否意味着它只在Python 2中运行?我怎么会事先检查呢?如果它只在Python 2上运行,你能推荐一个Python 3包/模块/库(有什么区别,顺便说一句?(来读取PDF到纯文本文件中吗?

感谢您的帮助!

更新:

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

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

我还有:

  • 蟒蛇版本"自定义",构建py37_1。
  • 康达 4.8.2,py37_0,通道康达锻造。
  • 波普勒 0.84.0, h1affe6b_0, 康达-锻造.
  • 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导入工作,因为PyPI中的示例代码使用它。但是,它确实可以用作 Xpdf 的命令行工具,在步骤之后无需额外安装。

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

pdftotext C:filepathfile.pdf

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

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

更新:

如果你使用 Anaconda和 conda 安装 pdftotext,那么导入它似乎只有在 Python 解释器中从 Anaconda3 shell 中运行它时才有效。

因此,我必须先在 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
pdftotext

不是一个模块,而是一个命令。 因此,您可以执行以下操作

import os
file_path = "C:documentsmypdf.pdf"
# writing data in variable
text = os.popen("pdftotext {}".format(file_path)).read()
# writing data in file
os.system("pdftotext {} {}".format(file_path, "data.txt"))

好吧,我想通了!如果你使用 Anaconda 和 conda 安装 pdftotext,那么导入它似乎只有在 Python 解释器中从 Anaconda3 shell 中运行它时才有效。

因此,我必须先在 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
>>> 

Ooor,第二个部分解决方案是它作为Xpdf的一部分的命令行工具工作。

在问题发布中采取的步骤之后,我不需要额外的安装。我在 Anaconda3 PowerShell 命令提示符下使用了该命令:

pdftotext C:filepathfile.pdf

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

从命令行使用它的第二种解决方案的问题是,如果您想在之后对文本文件执行某些操作,则必须运行另一个命令或脚本。它所做的只是将其读取到文件。

相关内容

  • 没有找到相关文章

最新更新