Python OCR程序遇PermissionError[WinError5]权限拒绝问题求助
我正在开发一个Python程序,计划通过OCR分析游戏赛事统计数据,生成玩家/团队的表现总结。作为Python新手,此前安装过多个Python(2-3)版本,现已全部卸载并重新安装了最新版Python3到默认推荐的AppData路径。
使用pytesseract和cv2完成OCR任务时,出现权限拒绝错误,更换其他OCR库也遇到相同问题。尝试过修改文件夹权限、以管理员身份运行VS Code、更换磁盘运行项目,均无法解决。
代码片段
def ocr_core(img): text = pytesseract.image_to_string(img) return text
报错信息
Exception has occurred: PermissionError [WinError 5] Access is denied File "G:\PythonProjects\NewWorldWarStats.py", line 7, in ocr_core text = pytesseract.image_to_string(img) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\PythonProjects\NewWorldWarStats.py", line 25, in <module> print(ocr_core(img)) ^^^^^^^^^^^^^ PermissionError: [WinError 5] Access is denied
指定Tesseract可执行文件的完整路径
权限问题常因pytesseract无法定位正确的Tesseract程序,或默认路径下的程序无执行权限导致。在代码中手动指定路径:import pytesseract # 替换为你的Tesseract实际安装路径 pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe' def ocr_core(img): text = pytesseract.image_to_string(img) return text确认该exe文件对当前用户拥有读取和执行权限,若安装在其他位置需对应修改路径。
验证Python解释器权限与路径
在VS Code终端输入python --version,确认使用的是AppData路径下的新版本Python。右键Python安装目录(如C:\Users\<你的用户名>\AppData\Local\Programs\Python\PythonXX),进入“属性-安全”,确保当前用户拥有完全控制或至少读取、执行、写入权限。更换项目存储目录
部分系统保护目录会限制程序权限,将项目移至非系统盘的普通用户目录(如D:\MyPythonProjects),并确保该目录对当前用户开放读写权限。检查图片文件权限
若处理的图片来自系统桌面、受保护下载目录,或文件本身设为只读,可能导致读取失败。将图片复制到项目目录后再尝试读取,同时确认图片文件允许当前用户读取。排查安全软件拦截
杀毒软件或Windows Defender可能拦截Python调用外部exe(如Tesseract),引发权限拒绝。可暂时关闭安全软件测试,若问题解决,将Python解释器和Tesseract程序添加至安全软件信任列表。重新安装Tesseract到非系统保护路径
默认安装在Program Files目录的Tesseract可能需管理员权限,卸载后重新安装到普通用户可访问路径(如D:\Tesseract-OCR),安装时勾选“添加到系统PATH”,或手动将该路径加入系统环境变量PATH。
内容的提问来源于stack exchange,提问作者Daniel

