Python Textract:失败,退出代码为127//windows 10//pdftotext

Python Textract:失败,退出代码为127//windows 10//pdftotext,python,pyinstaller,file-not-found,pypdf,pdftotext,Python,Pyinstaller,File Not Found,Pypdf,Pdftotext,当我试图运行我的程序(使用pyinstaller部署后)来读取和转换PDF文件并将其输入到google工作表中时。我得到了下图所示的错误。不过,我似乎不明白问题出在哪里: Tkinter回调中出现异常 回溯(最近一次呼叫最后一次): 文件“C:\Users\trpfinance\AppData\Local\Programs\Python\Python38-32\lib\site packages\textract\parsers\utils.py”,第82行,正在运行 管道=子流程.Popen

当我试图运行我的程序(使用pyinstaller部署后)来读取和转换PDF文件并将其输入到google工作表中时。我得到了下图所示的错误。不过,我似乎不明白问题出在哪里:

Tkinter回调中出现异常 回溯(最近一次呼叫最后一次): 文件“C:\Users\trpfinance\AppData\Local\Programs\Python\Python38-32\lib\site packages\textract\parsers\utils.py”,第82行,正在运行 管道=子流程.Popen( 文件“C:\Users\trpfinance\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py”,第854行,在\uuu init中__ self.\u execute\u child(参数、可执行文件、预执行文件、关闭文件、, 文件“C:\Users\trpfinance\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py”,第1307行,在执行子进程中 hp、ht、pid、tid=\u winapi.CreateProcess(可执行文件、参数、, FileNotFoundError:[WinError 2]系统找不到指定的文件 在处理上述异常期间,发生了另一个异常: 回溯(最近一次呼叫最后一次): 文件“C:\Users\trpfinance\AppData\Local\Programs\Python\Python38-32\lib\tkinter\\ uuuuuu init\uuuuu.py”,第1883行,在调用中__ 返回self.func(*args) InkoopRekeningen中的文件“EinkaufRGWindows.py”,第40行 text=textract.process(str(importfolder)+str(i)) 文件“C:\Users\trpfinance\AppData\Local\Programs\Python\Python38-32\lib\site packages\textract\parsers\\ uuuu init\uuuu.py”,第77行,正在处理中 返回parser.process(文件名,编码,**kwargs) 文件“C:\Users\trpfinance\AppData\Local\Programs\Python\Python38-32\lib\site packages\textract\parsers\utils.py”,第46行,正在处理中 byte_string=self.extract(文件名,**kwargs) 文件“C:\Users\trpfinance\AppData\Local\Programs\Python\Python38-32\lib\site packages\textract\parsers\pdf\u parser.py”,第28行,摘录 加薪 文件“C:\Users\trpfinance\AppData\Local\Programs\Python\Python38-32\lib\site packages\textract\parsers\pdf\u parser.py”,第20行,摘录 返回self.extract_pdftotext(文件名,**kwargs) 文件“C:\Users\trpfinance\AppData\Local\Programs\Python\Python38-32\lib\site packages\textract\parsers\pdf\u parser.py”,第43行,在extract\u pdftotext中 stdout,u=self.run(args) 文件“C:\Users\trpfinance\AppData\Local\Programs\Python\Python38-32\lib\site packages\textract\parsers\utils.py”,第90行,正在运行 引发异常。ShellError( textract.exceptions.ShellError:pdftotext//Mac/Home/Desktop/Wickey-Einkauf-Test/Rekeningen/lekkerkerker20803471.pdf命令失败,退出代码127 -------------stdout-------------
-------------stderr-----------------您似乎得到了一个
FileNotFoundError
。如果您查看该错误,正在运行的命令是:

pdftotext //Mac/Home/Desktop/Wickey Einkauf Test/Rekeningen/Lekkerkerker_ - 
 0803471.pdf -
这里有几件事我想看一下。首先,文件路径的开头有一个额外的斜杠,这似乎是错误的。其次,文件路径中有空格,但路径中没有引号。这第二部分意味着
pdftotext
将把它作为几个单独的命令参数,而不是一个。您可以可以通过格式化子流程调用以将文件用引号括起来来解决此问题,如下所示:

pdftotext "example file path.pdf" -

您需要使用pip安装pdftotext。
要安装它,需要使用微软Visual C++ 14或更大。

是否可以将错误复制到问题中作为一个片段?外部的链接通常皱眉。upon@PirateNinjas当然,我刚刚编辑了它,这与您的另一个问题是相同的错误?您需要在运行可执行文件的机器中安装
Poppler
r这两个斜杠是我在虚拟机(并行桌面)上运行的事实我认为我无法更改pdftotext命令,因为它不是我自己编写的代码行。我对pdf文件使用textract,但它在mac上运行得很好,但在windows上有问题。我需要在windows上运行它,因为这是为客户编写的。