Pytesser en Python 3.4: el nombre ‘image_to_string’ no está definido?

En primer lugar, me gustaría decir que sé que pytesser no es para Python 3.4, pero leí en http://sofes.miximages.com/python/textArea01.png’)

No hay problemas allí, pero cuando uso

 print (image_to_string(image)) 

se le ocurre esto:

 Traceback (most recent call last): File "", line 1, in  print (image_to_string(image)) NameError: name 'image_to_string' is not defined 

Su código no funcionará para Python 3. El motivo es que cuando lo hace from pytesser import * (o simplemente lo importa en primer lugar), el condicional if __name__ == '__main__' será True, y el código debajo de él correr.

Como estoy seguro de que sabe, en Python 3, la print ya no es una statement sino una función. Por lo tanto, se producirá un SyntaxError en la línea de print text .

No estoy seguro de por qué no está viendo este SyntaxError en su código, pero si este error pasó de manera silenciosa, eso significa que, en primer lugar, no se importó nada, de ahí el error.

Para solucionar esto, use Python 2.7.

Python 2.7:

 >>> from pytesser import * >>> print image_to_string  

Python 3:

 >>> from pytesser import * Traceback (most recent call last): File "", line 1, in  File "./pytesser.py", line 61 print text ^ SyntaxError: invalid syntax 

Tuve un problema similar con el módulo pytesseract Python 3. Es posible que deba cambiar la statement de importación en init .py para el módulo pytesser y agregar un punto inicial. Para pytesseract ejecutando 2to3-3.4 en init .py, cambió de:

from pytesseract import image_to_string

a

from .pytesseract import image_to_string

y luego puede resolver la función image_to_string.