Pytesseract不适用于Windows操作系统。 Subprocess.py丢失?
问题描述:
我试图让tesseract-ocr识别图像上的一个字符串。我在Windows操作系统电脑上使用python。我已经为tesseract-OCR安装了python包装器,即使用pip install安装pytesseract。我收到以下错误信息:Pytesseract不适用于Windows操作系统。 Subprocess.py丢失?
runfile('C:/Users/rlc/Desktop/tesseract_test.py', wdir='C:/Users/rlc/Desktop')
Traceback (most recent call last):
File "<ipython-input- 1-5f5eff4c4064>", line 1, in <module>
runfile('C:/Users/rlc/Desktop/tesseract_test.py', wdir='C:/Users/rlc/Desktop')
File "C:\Users\rlc\Anaconda2\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 714, in runfile
execfile(filename, namespace)
File "C:\Users\rlc\Anaconda2\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 74, in execfile
exec(compile(scripttext, filename, 'exec'), glob, loc)
File "C:/Users/rlc/Desktop/tesseract_test.py", line 12, in <module>
pytesseract.image_to_string(Image.open('example_02.png'))
File "C:\Users\rlc\Anaconda2\lib\site-packages\pytesseract\pytesseract.py", line 161, in image_to_string
config=config)
File "C:\Users\rlc\Anaconda2\lib\site-packages\pytesseract\pytesseract.py", line 94, in run_tesseract
stderr=subprocess.PIPE)
File "C:\Users\rlc\Anaconda2\lib\subprocess.py", line 711, in __init__
errread, errwrite)
File "C:\Users\rlc\Anaconda2\lib\subprocess.py", line 959, in _execute_child
startupinfo)
WindowsError: [Error 2] Den angivne fil blev ikke fundet.
看来它无法找到文件subprocess.py。
任何解决方案,好主意或获得tesseract-ocr在windows os pc上工作的教程?非常感谢您的帮助。
答
找出subprocess.py实际上包含在Anaconda 2和Anaconda 3中。错误的原因是,tesseract所在的路径未添加为Windows中的环境路径变量。
在windows上获取pytesseract的步骤。
- 从https://www.continuum.io/downloads
- 安装阿纳康达2或3阿纳康达从http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe
- 安装用于Windows的tesseract所述的tesseract目录添加到窗口作为路径环境变量。
-
安装pytesseract例如
PIP安装pytesseract
和..
import pytesseract
from PIL import Image
image = Image.open('example_02.png')
code = pytesseract.image_to_string(image)
print code
瞧。
我不认为Anaconda2捆绑子进程(因为它是基于py2的旧版本,它可能不可用?),所以请尝试升级到Anaconda3或尝试py2最新的python.org分发if你必须使用py2。 – MatsLindh
感谢您的回复。当问到一位帮助我弄清楚问题出在哪里的好同事。如果您有兴趣,请在下面提供的答案中查看解决方案。 –