关于python:ImportError:没有名为pytesseract的模块

ImportError: No module named pytesseract

我遵循了本指南https://realpython.com/blog/python/setting-up-a-simple-ocr-server/,然后转到运行cli.py python flask_server/cli.py的那部分,但是我得到了

1
2
3
4
5
python cli.py
Traceback (most recent call last):
  File"cli.py", line 3, in <module>
    import pytesseract
ImportError: No module named pytesseract

我该如何解决?

我还看到我有多个python版本。 我安装了最新更新的linux-kali。

其他:他运行python flask_server/cli.py-这样的命令,flask_server在哪里? 我像python cli.py一样简单地运行它(我在创建文件的某个目录中)。


我有一个类似的错误。因此,我希望为遇到此类问题的人们提供帮助。

就我而言
我试图在Raspberry pi 3上使用pytesseract lib运行python代码。

1
2
$ pip install pillow
$ pip install pytesseract

(后接https://www.pyimagesearch.com/2017/07/10/using-tesseract-ocr-python/)

然后,我做了一个example.py进行测试。

example.py

1
2
3
4
5
6
7
8
9
10
11
try:

    import Image

except ImportError:

    from PIL import Image

from pytesseract import *

print(pytesseract.image_to_string(Image.open('YOUR_IMAGE_PATH')))

然后,当我运行这段代码时,出现了像你这样的错误。
ImportError:没有名为pytesseract的模块

在看到@Bertrand Caron的答案后,我找到了解决方案。
我的问题是包库路径。

我也有多个版本的python,2.7和3.5,就像一个作家。
当我在Linux上运行命令$python --version时,结果是Python 2.7.13。

就我而言,当我安装pytesseract软件包时,
它存储在" /usr/local/lib/python3.5/dist-packages/pytesseract"中。

当我运行$python -v example.py时,我发现所引用的软件包路径与上层pytesseract软件包目录不同。

cf.

安装的pytesseract路径:/usr/local/lib/python3.5/dist-packages/pytesseract

运行时实际引用的lib路径:/usr/lib/python2.7/dist-packages/

因此,我将位于" /usr/local/lib/python3.5/dist-packages/pytesseract"中的pytesseract复制到" /usr/lib/python2.7/dist-packages/"

然后,解决了!


Python import错误通常可归结为以下三种情况之一(无论是您开发的模块;还是作为软件包分发的模块):

  • 您没有安装所需的软件包。谷歌搜索pytesseract告诉我它的OCR,可通过在您喜欢的shell中运行pip install pytesseract来使用Python包管理器工具pip分发和安装该OCR。

  • 您确实安装了该软件包,但不在python路径中。

  • (很少)您确实安装了该软件包,并且该软件包位于您的python路径中,但是您使用的名称已经由Python用户使用,并且两者存在冲突。

  • 就您而言,我强烈认为这是第一个。如答案中所述,可以通过调用python -v your_script.py来评估情况2和3.。


    就我而言,我在Jupyter中运行它,因此我使用了此命令,

    1
    ! pip install --user pytesseract

    但是我忘了重启内核。安装pakcage后,您需要重新启动内核


    我有同样的错误。我的解决方案是

    1
    $ pip3 install pytesseract

    因为我同时安装了python 2和python 3。