MacOS下MacPorts安装Tesseract后,如何获取其可执行文件路径?
运行以下Python代码时,tesseract_path = '/opt/local/bin/tesseract'语句触发了FileNotFoundError:
import pytesseract from PIL import Image import os # 输入图片路径 image_path = 'image1.png' # 使用PIL加载图片 image = Image.open(image_path) # 设置Tesseract可执行文件路径 tesseract_path = '/opt/local/bin/tesseract' # 检查Tesseract可执行文件是否存在 if not os.path.exists(tesseract_path): raise FileNotFoundError('Tesseract executable not found at: {}'.format(tesseract_path)) # 在pytesseract中设置Tesseract路径 pytesseract.pytesseract.tesseract_cmd = tesseract_path # 执行OCR识别 recognized_text = pytesseract.image_to_string(image) # 打印识别结果 print(recognized_text)
已通过MacPorts在MacOS上安装Tesseract,但尝试多种方法仍无法获取其可执行文件路径,请问有哪些可行的路径获取方法?
终端直接查询路径
打开终端,执行命令:which tesseract
命令会直接返回Tesseract可执行文件的绝对路径,将该路径复制到代码中即可。通过MacPorts命令查询文件列表
执行MacPorts的内容查询命令,列出Tesseract安装的所有文件:port contents tesseract
在输出结果中找到包含bin/tesseract的行,对应的绝对路径就是目标路径。确认MacPorts安装路径
MacPorts默认安装路径为/opt/local/bin/,若为自定义路径,可先查询MacPorts的安装位置:port version
输出内容会包含MacPorts的安装目录(如MacPorts 2.8.1 installed at /opt/local),在该目录后拼接/bin/tesseract即可得到完整路径。让pytesseract自动查找路径
若Tesseract所在目录已加入系统PATH环境变量,可省略手动设置路径的步骤。先在终端执行echo $PATH,确认/opt/local/bin(或Tesseract所在目录)是否在输出中。若存在,可删除代码中设置tesseract_path和路径检查的代码,pytesseract会自动识别路径。
内容的提问来源于stack exchange,提问作者Samuel Lee

