已安装OCRmyPDF依赖仍报'tesseract'不存在,Shell可运行脚本不行
问题分析与解决
你遇到的核心问题是脚本运行环境与Python Shell的环境不一致,导致tesseract无法被找到,具体解决方法如下:
1. 确认脚本使用的Python解释器
在你的.py脚本开头添加以下代码并运行:
import sys print(sys.executable)
然后在Python Shell中执行同样的代码,对比两个输出路径。如果路径不同,说明脚本使用的是另一个Python环境(比如虚拟环境、系统不同版本的Python),需要在对应环境重新安装所有依赖,或者用正确的解释器运行脚本(比如/usr/bin/python3 your_script.py)。
2. 手动指定tesseract路径
先通过Shell命令找到tesseract的安装路径:
which tesseract
得到路径后(通常是/usr/bin/tesseract),在脚本中添加以下代码,强制指定tesseract的位置:
import pytesseract pytesseract.pytesseract.tesseract_cmd = '/usr/bin/tesseract' # 替换为实际路径
3. 检查并补充环境变量PATH
在脚本中添加代码打印当前PATH:
import os print(os.environ['PATH'])
对比Shell中执行echo $PATH的输出,看tesseract所在的目录(比如/usr/bin)是否在脚本的PATH中。如果不在,在脚本开头添加:
import os os.environ['PATH'] += ':/usr/bin' # 替换为tesseract所在的目录
内容的提问来源于stack exchange,提问作者Abhilash Ramachandran
相关产品推荐
相关产品推荐

