web-dev-qa-db-fra.com

pytesseract ne trouve pas le fichier spécifié

Mon code est simple et est le suivant:

import pytesseract
from PIL import Image

img = Image.open('C:/temp/foo.jpg')
img.load()
i = pytesseract.image_to_string(img)

et la réponse d'erreur que je reçois est:

Traceback (most recent call last):
  File "img.py", line 6, in <module>
    i = pytesseract.image_to_string(img)
  File "build\bdist.win32\Egg\pytesseract\pytesseract.py", line 161, in image_to
_string
  File "build\bdist.win32\Egg\pytesseract\pytesseract.py", line 94, in run_tesse
ract
  File "C:\Users\%USER%\AppData\Local\Continuum\Anaconda\lib\subprocess.py",
line 710, in __init__
    errread, errwrite)
  File "C:\Users\%USER%\AppData\Local\Continuum\Anaconda\lib\subprocess.py",
line 958, in _execute_child
    startupinfo)
WindowsError: [Error 2] The system cannot find the file specified

Toute orientation serait fantastique.

L'ajout de tesseract à ma variable de chemin a aidé: C:\Program Files (x86)\Tesseract-OCR

Mais le code se bloque maintenant lorsque vous essayez d'exécuter la pièce pytesseract.

18
jason m

Il suffit de frapper la même erreur et j'ai décidé de répondre à cette question - cela pourrait aider quelqu'un à gagner du temps ...

Tout d'abord, assurez-vous d'avoir exécutables Tesseract-OCR installés/copiés .

Windows ne trouve pas l'exécutable tesseract dans les répertoires spécifiés dans votre variable d'environnement PATH. Assurez-vous donc que le répertoire contenant tesseract se trouve dans votre variable PATH ou écrasez la variable tesseract_cmd Dans votre script Python comme ci-dessous ( mettez votre CHEMIN à la place):

import pytesseract

pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract'

En plus de cela, assurez-vous que la variable d'environnement TESSDATA_PREFIX Windows est définie dans le répertoire, contenant le répertoire tessdata. Par exemple:

TESSDATA_PREFIX=C:\Program Files (x86)\Tesseract-OCR

si tessdata l'emplacement est: C:\Program Files (x86)\Tesseract-OCR\tessdata

51
MaxU