IIS中调用Python EXE出现EasyOCR权限拒绝错误(WinError 5)
解决IIS部署后调用EasyOCR EXE的权限拒绝问题
核心原因
IIS应用池的运行账户没有对C:\WINDOWS\system32\config\systemprofile\.EasyOCR目录的读写权限,即使手动创建目录,权限未配置也会报错。
方案1:配置系统目录权限
- 打开IIS管理器,找到Web API对应的应用池,查看高级设置里的标识(通常是
ApplicationPoolIdentity或Network Service)。 - 右键
C:\WINDOWS\system32\config\systemprofile\.EasyOCR目录 → 属性 → 安全 → 编辑 → 添加:- 若为
ApplicationPoolIdentity,输入IIS AppPool\[你的应用池名称](比如IIS AppPool\MyApiPool),点击“检查名称”确认后添加。 - 若为
Network Service,直接输入NETWORK SERVICE添加。
- 若为
- 给该账户勾选读取、写入、修改权限,保存设置。
方案2:自定义EasyOCR模型存储目录
避免访问系统目录,在Python脚本中指定有权限的自定义路径:
import easyocr # 用Web API站点目录下的文件夹存储模型,确保该目录存在 reader = easyocr.Reader(['ch_sim', 'en'], model_storage_directory='./EasyOCR_Models', download_enabled=True)
编译EXE前确认路径正确,然后给Web API应用池账户授予该自定义目录的读写权限。
方案3:开启应用池加载用户配置文件
- 打开应用池的高级设置,找到“加载用户配置文件”选项,设置为True。
- 重启应用池和Web站点,这会让应用池账户正常加载用户配置,避免系统目录访问限制。
内容的提问来源于stack exchange,提问作者seneill
相关产品推荐
相关产品推荐

