ImportError:没有名为pytesseract的模块

时间:2015-10-28 21:19:13

标签: python linux

我按照本指南https://realpython.com/blog/python/setting-up-a-simple-ocr-server/进入了我运行cli.py python flask_server/cli.py的部分,但我得到了

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那样运行它(我在我创建文件的某个目录中)。

4 个答案:

答案 0 :(得分:4)

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

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

$ pip install pillow
$ pip install pytesseract

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


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

example.py

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,就像一个writer。 当我在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/”

然后,解决了!

答案 1 :(得分:3)

Python import错误通常归结为这三种情况中的一种(无论是您开发的模块还是作为包分发的模块):

  1. 您没有安装所需的软件包。谷歌搜索pytesseract通过在您最喜欢的shell中运行pip,使用Python包管理器工具pip install pytesseract分发和安装了OCR

  2. 您确实安装了该软件包,但它不在您的python路径中。

  3. (不太常见)您确实安装了软件包,它位于您的python路径中,但您在Python中已经使用了用户名,而且这两个名称存在冲突。

  4. 在你的情况下,我强烈认为这是第一个。可以通过this answer中所述的python -v your_script.py来调用案例2和3.

答案 2 :(得分:1)

我有同样的错误。我的解决办法是

b

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

答案 3 :(得分:0)

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

! pip install --user pytesseract

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