我正在关注本指南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
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
我还看到我有多个版本的python。我安装了带有最新更新的 linux-kali。
别的东西:他运行这样的命令python flask_server/cli.py——flask_server 在哪里?我只是简单地运行它python cli.py(我在创建文件的某个目录中)。
Ber*_*ron 12
Pythonimport错误通常归结为这三种情况之一(无论是您开发的模块;还是作为包分发的模块):
您没有安装所需的软件包。谷歌搜索pytesseract告诉我它是一个OCR,pip通过pip install pytesseract在你最喜欢的 shell 中运行,使用 Python 包管理器工具分发和安装。
您确实安装了该软件包,但不在您的 python 路径中。
(较少)您确实安装了该软件包,并且它在您的 python 路径中,但是您使用了 Python 已经在 user 中的名称,并且两者是冲突的。
在你的情况下,我强烈认为这是第一个。案例 2. 和 3. 可以通过调用来评估,python -v your_script.py如本答案所述。
我有一个类似的错误。所以我希望能帮助有这种问题的人。
就我而言,我尝试在 Raspberry pi 3 上使用 pytesseract lib 运行 python 代码。
$ pip install pillow
$ pip install pytesseract
Run Code Online (Sandbox Code Playgroud)
(后跟https://www.pyimagesearch.com/2017/07/10/using-tesseract-ocr-python/)
然后,我做了一个example.py来测试。
try:
import Image
except ImportError:
from PIL import Image
from pytesseract import *
print(pytesseract.image_to_string(Image.open('YOUR_IMAGE_PATH')))
Run Code Online (Sandbox Code Playgroud)
然后,当我运行这段代码时,我遇到了像你一样的错误。导入错误:没有名为 pytesseract 的模块
看到@Bertrand Caron 的回答后,我找到了解决方案。 我的问题是包库路径。
我也有多个版本的 python,2.7 和 3.5,就像作家一样。当我$python --version在 linux 上运行命令时,结果是 Python 2.7.13。
就我而言,当我安装 pytesseract 包时,它存储在"/usr/local/lib/python3.5/dist-packages/pytesseract" 中。
当我运行时$python -v example.py,我发现引用的包路径与上层 pytesseract 包目录不一样。
参见
安装的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/”
然后,解决了!
就我而言,我在 Jupyter 中运行它,所以我使用了这个命令,
! pip install --user pytesseract
Run Code Online (Sandbox Code Playgroud)
但我忘记重新启动内核。安装pakcage后需要重启kernal