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

IIS部署Flask API时无法读取本地PATH中Tesseract路径问题咨询

问题原因

本地终端启动Flask时,进程加载的是当前登录用户的完整环境变量,所以能识别PATH里的tesseract命令;IIS通过w3wp工作进程运行应用时,默认不会加载个人用户的环境变量,且应用池启动时才会读取一次系统环境变量,环境变量更新后不重启池就不会生效,最终触发找不到tesseract的报错。

配置操作步骤
  • 把Tesseract安装目录添加到系统级PATH变量
    打开系统环境变量配置面板,在「系统变量」区域找到名为Path的条目编辑,把Tesseract-OCR的安装文件夹路径加入列表,不要只添加到当前登录用户的用户级Path里——IIS内置的应用池标识不会加载个人用户的环境变量配置。所有配置窗口点击确定保存修改。
  • 回收对应应用池并重启站点
    打开IIS管理器,定位到Flask API绑定的应用程序池,右键选择「回收」,完成后再右键对应部署站点,选择「管理网站>重新启动」。注意必须执行应用池回收操作:IIS工作进程只会在应用池启动时加载一次环境变量,仅重启站点不会触发环境变量重新读取。
  • 配置目录访问权限
    如果你使用自定义账号作为应用池标识,需要给该账号授予Tesseract安装目录的访问权限:右键Tesseract-OCR文件夹,打开「属性>安全」选项卡,给对应账号添加「读取和执行」「列出文件夹内容」「读取」权限,避免因权限不足无法识别可执行文件。
  • 加载结果校验
    可以临时在Flask代码中添加测试路由,返回os.environ.get('PATH')的取值,部署后调用该接口,确认返回的PATH字符串中包含Tesseract的安装目录,即可证明IIS已经正确读取到对应环境变量,校验完成后删除临时测试路由即可。

若完成上述操作后仍不生效,直接重启服务器即可:部分Windows版本不会将更新后的系统PATH实时同步给运行中的系统服务,重启后所有服务会重新加载全量系统环境变量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 09:03:51