You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

解决AttributeError: pytesseract.pytesseract无'pytesseract'属性问题

解决AttributeError: module 'pytesseract.pytesseract' has no attribute 'pytesseract'问题

你的错误根源是导入pytesseract的方式与设置tesseract路径的代码不匹配,以下是具体解决方案:

1. 修正核心代码

你当前的代码中,已经通过from pytesseract import pytesseract导入了pytesseract模块内的核心对象,却错误地尝试通过pytesseract.pytesseract.tesseract_cmd设置路径——这相当于在已导入的对象上重复查找同名属性,自然会触发属性不存在的错误。

将路径设置代码修改为以下两种方式之一即可:

方式一:导入整个pytesseract模块

from passporteye import read_mrz
import pytesseract

# 直接设置模块的tesseract_cmd属性
pytesseract.tesseract_cmd = r'C:\\Users\\你的实际用户名\\AppData\\Local\\Tesseract-OCR\\tesseract.exe'

方式二:保持原导入方式,修正路径设置

from passporteye import read_mrz
from pytesseract import pytesseract

# 直接对导入的pytesseract对象设置tesseract_cmd
pytesseract.tesseract_cmd = r'C:\\Users\\你的实际用户名\\AppData\\Local\\Tesseract-OCR\\tesseract.exe'

2. 完整修正后的代码示例

from passporteye import read_mrz
import pytesseract

# 替换为你实际的Windows用户名
pytesseract.tesseract_cmd = r'C:\\Users\\你的用户名\\AppData\\Local\\Tesseract-OCR\\tesseract.exe'

# Process image
mrz = read_mrz("C:\\Users\\你的用户名\\Documents\\UiPath\\imageExtract\\Data\\image1.jpeg")

# Obtain image data
mrz_data = mrz.to_dict()

# Printing extracted data
print('Nationality :', mrz_data['nationality'])
print('Given Name :', mrz_data['names'])
print('Surname :', mrz_data['surname'])
print('Passport type :', mrz_data['type'])
print('Date of birth :', mrz_data['date_of_birth'])
print('ID Number :', mrz_data['personal_number'])
print('Gender :', mrz_data['sex'])
print('Expiration date :', mrz_data['expiration_date'])

3. 额外检查项

  • 确保路径中的<username>已替换为你的实际Windows用户名,路径不能包含占位符
  • 重启Spyder4,确保系统环境变量Path的修改生效(即使已添加路径,IDE可能需要重启才能识别)
  • 验证pytesseract安装完整性:在终端执行pip show pytesseract,确认安装路径和版本正常,若有损坏可重新执行pip uninstall pytesseract && pip install --user pytesseract重装

内容的提问来源于stack exchange,提问作者Santhi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 03:21:12