首先,我想说我知道pytesser不适用于Python 3.4,但是我从http://ubuntuforums.org/archive/index.php/t-1916011.html中了解到pytesser也应该适用于python3。
我刚安装了pytesser,正在尝试读取一个文件。

from pytesser import *
from PIL import Image
image = Image.open('/Users/William/Documents/Science/PYTHON/textArea01.png')

没有问题,但是当我使用
print (image_to_string(image))

结果是:
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    print (image_to_string(image))
NameError: name 'image_to_string' is not defined

最佳答案

您的代码不适用于Python3。原因是,当您执行from pytesser import *操作(或者只是首先导入它)时,if __name__ == '__main__'条件将为True,下面的代码将运行。
我相信您已经知道,在Python 3中,print不再是一个语句,而是一个函数。因此,SyntaxError将出现在print text行。
我不知道为什么在代码中看不到这个SyntaxError,但是如果这个错误无声地传递,那就意味着一开始没有导入任何内容,因此出现了错误。
要解决这个问题,请使用Python2.7。
蟒蛇2.7:

>>> from pytesser import *
>>> print image_to_string
<function image_to_string at 0x10057ec08>

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

10-04 20:43