解决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
相关产品推荐
相关产品推荐

