使用 conda 和 poppler 安装后无法导入 pdftotext,Windows 10
Unable to import pdftotext after installing with conda and poppler, Windows 10
我正在尝试使用 pdftotext,但无法导入。
我在 Lenovo IdeaPad S340 上 运行ning 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 中只有 运行s?我怎么会事先检查呢?如果它只在 Python 2 上执行 运行,你能推荐一个 Python 3 package/module/library(有什么区别,顺便说一句?)将 PDF 读入纯文本文件?
感谢您的帮助!
更新:
我在同一台机器上用一个新用户重新开始 OS(另一个用户的名称中有一个 space,所以它的文件路径有一个 space,可以造成问题)。我遇到了同样的问题。
我有 Python 3.7.6 和 3.8.1。 Python 3.7.6 是通过 Anaconda3 提示 python -V
检查版本时显示的内容(使用 conda info
时为 3.7.6.final.0)。
我还有:
- Anaconda 版本 "custom",构建 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 uses it. But, it does work as a command line tool that is part of Xpdf,在这些步骤之后没有额外的安装。
我在Anaconda3 PowerShell命令提示符下使用了命令:
pdftotext C:\filepath\file.pdf
然后它创建了一个同名的文本文件并将其保存在同一个文件夹中。我上面链接的 Xpdf 页面上概述的命令还有其他选项(比如设置文件名)。
Buuuut,这不是一个令人满意的解决方案。我可以通过一个额外的步骤处理我当前的用例任务,但我仍然无法从 Python 程序中调用 pdftotext。
更新:
如果您使用 Anaconda 和 conda 安装 pdftotext,那么导入它似乎只有在您从 Anaconda3 shell.[=25] 的 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
>>>
好的,我明白了!如果你使用 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
>>>
Ooor,第二个部分解决方案是它作为 command line tool that is part of Xpdf。
完成问题 post 中的步骤后,我不需要额外安装。我在Anaconda3 PowerShell命令提示符下使用了命令:
pdftotext C:\filepath\file.pdf
然后它创建了一个同名的文本文件并将其保存在同一个文件夹中。我上面链接的 Xpdf 页面上列出的命令还有其他选项(比如设置文件名)。
从命令行使用它的第二种解决方案的问题是,如果您想之后对文本文件执行某些操作,则必须 运行 另一个命令或脚本。它所做的只是将其读取到文件中。
pdftotext
不是模块而是命令。
所以你可以这样做
import os
file_path = "C:\documents\mypdf.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"))
我遇到了同样的问题,但在执行以下操作后,效果非常好!
sudo apt install build-essential libpoppler-cpp-dev pkg-config python3-dev
pip install pdftotext
我正在尝试使用 pdftotext,但无法导入。
我在 Lenovo IdeaPad S340 上 运行ning 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 中只有 运行s?我怎么会事先检查呢?如果它只在 Python 2 上执行 运行,你能推荐一个 Python 3 package/module/library(有什么区别,顺便说一句?)将 PDF 读入纯文本文件?
感谢您的帮助!
更新:
我在同一台机器上用一个新用户重新开始 OS(另一个用户的名称中有一个 space,所以它的文件路径有一个 space,可以造成问题)。我遇到了同样的问题。
我有 Python 3.7.6 和 3.8.1。 Python 3.7.6 是通过 Anaconda3 提示 python -V
检查版本时显示的内容(使用 conda info
时为 3.7.6.final.0)。
我还有:
- Anaconda 版本 "custom",构建 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 uses it. But, it does work as a command line tool that is part of Xpdf,在这些步骤之后没有额外的安装。
我在Anaconda3 PowerShell命令提示符下使用了命令:
pdftotext C:\filepath\file.pdf
然后它创建了一个同名的文本文件并将其保存在同一个文件夹中。我上面链接的 Xpdf 页面上概述的命令还有其他选项(比如设置文件名)。
Buuuut,这不是一个令人满意的解决方案。我可以通过一个额外的步骤处理我当前的用例任务,但我仍然无法从 Python 程序中调用 pdftotext。
更新:
如果您使用 Anaconda 和 conda 安装 pdftotext,那么导入它似乎只有在您从 Anaconda3 shell.[=25] 的 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
>>>
好的,我明白了!如果你使用 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
>>>
Ooor,第二个部分解决方案是它作为 command line tool that is part of Xpdf。
完成问题 post 中的步骤后,我不需要额外安装。我在Anaconda3 PowerShell命令提示符下使用了命令:
pdftotext C:\filepath\file.pdf
然后它创建了一个同名的文本文件并将其保存在同一个文件夹中。我上面链接的 Xpdf 页面上列出的命令还有其他选项(比如设置文件名)。
从命令行使用它的第二种解决方案的问题是,如果您想之后对文本文件执行某些操作,则必须 运行 另一个命令或脚本。它所做的只是将其读取到文件中。
pdftotext
不是模块而是命令。
所以你可以这样做
import os
file_path = "C:\documents\mypdf.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"))
我遇到了同样的问题,但在执行以下操作后,效果非常好!
sudo apt install build-essential libpoppler-cpp-dev pkg-config python3-dev
pip install pdftotext