导入pytesseract遇循环导入ImportError,求解决方法
解决pytesseract循环导入错误(文件名冲突导致)
我在Anaconda环境的Jupyter Notebook中运行以下OCR代码:
from PIL import Image import pytesseract pytesseract.pytesseract.tesseract_cmd = r'C:\Users\me\AppData\Local\Tesseract-OCR\tesseract.exe' im = Image.open("ocrtest.jpg") text = pytesseract.image_to_string(im, lang = 'eng') print(text)
尝试改用from pytesseract import image_to_string导入后,仍出现如下错误:
ImportError Traceback (most recent call last) Input In [3], in <cell line: 2>() 1 from PIL import Image ----> 2 import pytesseract 3 pytesseract.pytesseract.tesseract_cmd = r'C:\Users\me\AppData\Local\Tesseract-OCR\tesseract.exe' 4 im = Image.open("ocrtest.jpg") File ~\anaconda3\lib\site-packages\pytesseract\__init__.py:1, in <module> ----> 1 from pytesseract import image_to_string ImportError: cannot import name 'image_to_string' from partially initialized module 'pytesseract' (most likely due to a circular import) (C:\Users\me\anaconda3\lib\site-packages\pytesseract\__init__.py)
我已通过Anaconda安装pytesseract,也单独下载了Windows版Tesseract,怀疑是文件名冲突导致该错误,请问该如何解决?
解决方案
你怀疑的文件名冲突确实是最可能的原因,解决步骤如下:
- 检查当前Jupyter Notebook所在的工作目录,确认是否存在名为
pytesseract.py或pytesseract.ipynb的文件 - 若有上述文件,立即重命名(比如改为
my_ocr_test.py或其他不与库名重复的名称) - 关闭当前Jupyter内核,重新启动后再运行代码测试
额外排查点
如果上述操作后仍报错,可尝试:
- 在Anaconda终端执行
conda list pytesseract,确认库已正确安装;若安装异常,执行conda uninstall pytesseract && conda install pytesseract重新安装 - 再次核对
tesseract_cmd的路径,确保指向你下载的Tesseract安装目录下的tesseract.exe
内容的提问来源于stack exchange,提问作者añdré têtê
相关产品推荐
相关产品推荐

