我正在尝试使用pdftotext,但不会导入。
我正在工作的笔记本电脑Lenovo IdeaPad S340上运行Windows 10(64位)。
按照此处和此处的指示(非常有帮助),我:
安装了Microsoft Visual C生成工具。
安装Anaconda。
对于每个步骤,请使用单独的Anaconda3命令获取最新版本的Anaconda并进行更新。我不记得这些命令,也没有再次找到它们。
更新了Microsoft Visual 14。
使用conda通过Anaconda3命令安装poppler:conda install -c conda-forge poppler
使用pip通过Anaconda3命令安装pdftotext:pip install pdftotext
之后:
这发生在Python 3.8(32位)命令提示符中:
1 2 3 4 5
| >>> import pdftotext
Traceback (most recent call last):
File"<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pdftotext'
>>> |
这发生在IDLE的Python 3.75 Shell(64位)中:
1 2 3 4 5 6
| >>> import pdftotext
Traceback (most recent call last):
File"<pyshell#0>", line 1, in <module>
import pdftotext
ModuleNotFoundError: No module named 'pdftotext'
>>> |
这发生在Anaconda3命令提示符下:
1 2 3
| import pdftotext
'import' is not recognized as an internal or external command,
operable program or batch file. |
这也发生在Anaconda3命令提示符中:
1 2
| pip install pdftotext
Requirement already satisfied: pdftotext in c:\\programdata\\anaconda3\\lib\\site-packages (2.1.4) |
这是否意味着它只能在Python 2中运行?我将如何事先检查?如果仅在Python 2上运行,是否可以推荐将Python 3读入纯文本文件的Python 3软件包/模块/库(有什么不同,顺便说一句?)?
感谢您的帮助!
更新:
我从同一台计算机和OS上的一个新用户开始(另一个用户的名称中有一个空格,因此其文件路径中有一个空格,这可能会引起问题)。我遇到了同样的问题。
我有Python 3.7.6和3.8.1。通过Anaconda3提示符python -V检查版本时显示的是Python 3.7.6(使用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:\\\\程序文件(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:\\filepath\\file.pdf
然后它创建了一个具有相同名称的文本文件,并将其保存在相同的文件夹中。我在上面链接的Xpdf页面上概述了该命令的其他选项(例如,设置文件名)。
Buuuut,这不是令人满意的解决方案。我可以执行我的当前用例任务,但需要执行其他步骤,但是仍然无法从Python程序中调用pdftotext。
更新:
如果使用Anaconda和conda安装pdftotext,则导入只能在从Anaconda3 shell内的Python解释器中运行它时才起作用。
因此,我必须首先在Anaconda3 PowerShell中切换到Python解释器模式:python
然后,我可以无错误地导入pdftotext:import pdftotext
它看起来像这样:
1 2 3 4 5
| (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不被识别为命令。
-
@AMC,我不想重写链接到的方向。我按照上面概述的顺序执行了这些步骤。
-
好像您在一个python版本中安装了该库,而试图在另一个版本中对其进行了调用。好了,您可以尝试使用!pip install pdftotext从ipython IDLE安装lib(这通常在Spyder上对我有用),但是我不建议您这样做。您能做的最好的事情是首先弄清楚您拥有哪些python版本
-
好的,我知道了!如果使用Anaconda和conda安装pdftotext,则导入它似乎仅在从Anaconda3 shell内的Python解释器中运行它时才起作用。
因此,我必须首先在Anaconda3 PowerShell中切换到Python解释器模式:
python
然后,我可以无错误地导入pdftotext:
import pdftotext
它看起来像这样:
1 2 3 4 5
| (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
>>> |
糟糕,第二个部分解决方案是它充当Xpdf的一部分的命令行工具。
在问题贴所采取的步骤之后,我不需要进行任何其他安装。我在Anaconda3 PowerShell命令提示符中使用了该命令:
pdftotext C:\\filepath\\file.pdf
然后它创建了一个具有相同名称的文本文件,并将其保存在相同的文件夹中。我在上面链接的Xpdf页面上概述了该命令的其他选项(例如,设置文件名)。
从命令行使用它的第二种解决方案的问题在于,如果以后要对文本文件执行某些操作,则必须运行另一个命令或脚本。它所做的只是将其读取到文件中。
434511
pdftotext是命令,而不是模块。
因此,如果要在Python中执行此命令,则可以编写
1 2 3 4 5 6 7 8 9
| 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")) |
-
好的,我知道了!如果使用Anaconda和conda安装pdftotext,则导入它似乎仅在从Anaconda3 shell内的Python解释器中运行它时才起作用。
因此,我必须首先在Anaconda3 PowerShell中切换到Python解释器模式:
python
然后,我可以无错误地导入pdftotext:
import pdftotext
它看起来像这样:
1 2 3 4 5
| (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
>>> |
糟糕,第二个部分解决方案是它充当Xpdf的一部分的命令行工具。
在问题贴所采取的步骤之后,我不需要进行任何其他安装。我在Anaconda3 PowerShell命令提示符中使用了该命令:
pdftotext C:\\filepath\\file.pdf
然后它创建了一个具有相同名称的文本文件,并将其保存在相同的文件夹中。我在上面链接的Xpdf页面上概述了该命令的其他选项(例如,设置文件名)。
从命令行使用它的第二种解决方案的问题在于,如果以后要对文本文件执行某些操作,则必须运行另一个命令或脚本。它所做的只是将其读取到文件中。
434511
pdftotext是命令,而不是模块。
因此,如果要在Python中执行此命令,则可以编写
1 2 3 4 5 6 7 8 9
| 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")) |
-
好的,我知道了!如果使用Anaconda和conda安装pdftotext,则导入它似乎仅在从Anaconda3 shell内的Python解释器中运行它时才起作用。
因此,我必须首先在Anaconda3 PowerShell中切换到Python解释器模式:
python
然后,我可以无错误地导入pdftotext:
import pdftotext
它看起来像这样:
1 2 3 4 5
| (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
>>> |
糟糕,第二个部分解决方案是它充当Xpdf的一部分的命令行工具。
在问题贴所采取的步骤之后,我不需要进行任何其他安装。我在Anaconda3 PowerShell命令提示符中使用了该命令:
pdftotext C:\\filepath\\file.pdf
然后它创建了一个具有相同名称的文本文件,并将其保存在相同的文件夹中。我在上面链接的Xpdf页面上概述了该命令的其他选项(例如,设置文件名)。
从命令行使用它的第二种解决方案的问题在于,如果以后要对文本文件执行某些操作,则必须运行另一个命令或脚本。它所做的只是将其读取到文件中。
434511
pdftotext是命令,而不是模块。
因此,如果要在Python中执行此命令,则可以编写
1 2 3 4 5 6 7 8 9
| 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")) |
pdftotext是命令,而不是模块。
因此,如果要在Python中执行此命令,则可以编写
1 2 3 4 5 6 7 8 9
| 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")) |
-
谢谢!我要试试看。顺便说一句,我只是回去更新,因为我一直都知道问题是我从未尝试将Anaconda3 shell用作Python解释器。因此,在命令行中键入python以切换到Python解释器模式,那么到目前为止,import pdftotext不会返回任何错误。绝对是您导入并在代码中调用的模块,如pypi.org/project/pdftotext所示。
-
因此,我建议您在PC上下载Linux,并避免此类异常
好的,我知道了!如果使用Anaconda和conda安装pdftotext,则导入它似乎仅在从Anaconda3 shell内的Python解释器中运行它时才起作用。
因此,我必须首先在Anaconda3 PowerShell中切换到Python解释器模式:
python
然后,我可以无错误地导入pdftotext:
import pdftotext
它看起来像这样:
1 2 3 4 5
| (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
>>> |
糟糕,第二个部分解决方案是它充当Xpdf的一部分的命令行工具。
在问题贴所采取的步骤之后,我不需要进行任何其他安装。我在Anaconda3 PowerShell命令提示符中使用了该命令:
pdftotext C:\\filepath\\file.pdf
然后它创建了一个具有相同名称的文本文件,并将其保存在相同的文件夹中。我在上面链接的Xpdf页面上概述了该命令的其他选项(例如,设置文件名)。
从命令行使用它的第二种解决方案的问题在于,如果以后要对文本文件执行某些操作,则必须运行另一个命令或脚本。它所做的只是将其读取到文件中。
- 嗨,我正在通过conda安装poppler,但是它没有导入poppler说模块未找到。你看到了吗?这是详细信息stackoverflow.com/questions/61488601/
-
@Baktaawar,我在您的帖子中张贴了我的回复。