2017-08-06 34 views
2

我的代码:PermissionError与pytesseract

pytesseract.pytesseract.tesseract_cmd = 'C:/Programs/tesseract' 
print(pytesseract.image_to_string(Image.open("test.png"))) 

我得到的错误:PermissionError:[WinError 5]访问被拒绝

然后我跑的程序作为管理员,并收到了同样的错误。 我还更改了tesseract文件夹的权限。

我使用Python解释器在Pycharm中安装pytesseract,并使用第二个选项从Windows here下载了二进制文件。我提取了zip文件夹C:\程序

什么是导致错误?

回答

1

在您的系统变量中设置一个TESSDATA_PREFIX到您的tessdata文件夹。我的是C:\Program Files (x86)\Tesseract-OCR\tessdata

TESSDATA_PREFIX system variable

+1

请注意,对于像PyCharm等许多程序,您还需要关闭程序并在设置系统环境变量后重新打开程序。 – Silas

2

您确定这是可执行文件的完整路径吗?

C:/Programs/tesseract 

因为它看起来像可执行文件夹的路径。请与Windows资源管理器可执行文件的完整路径是什么,并把它放在行:

pytesseract.pytesseract.tesseract_cmd = 'C:/Programs/tesseract/tesseract.exe' 
+1

谢谢,我试过,但没有结果。我仍然收到一个错误:'pytesseract.pytesseract.TesseractError:(1,'打开数据文件\\程序\\ tesseract \\ tessdata/eng.traineddata')' –

+0

这是一个不同的错误,现在正在找到可执行文件。你有没有检查'tessdata'文件夹中是否存在'eng.traineddata'文件?我查看了你说你下载的zip文件,并且该文件没有包含在那里,所以你可能需要按照教程来了解如何设置tesseract以供第一次使用(具体检查如何训练或下载已经过训练的配置) 。 – MondKin

6

花费几个小时后,我发现这个问题。我使用的10场与Python 3.6

img = Image.open('sample1.jpg') 
pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract.exe' 
result = pytesseract.image_to_string(img) 

tesseract.exe可执行文件,必须附加到pytesseract.pytesseract.tesseract_cmd

仅供参考,前面我也给予了充分的权利的Tesseract-OCR文件夹,但它可能不会被要求