python - 无法将 Tesseract 部署到 Google App Engine
问题描述
我正在使用 Tesseract 进行 OCR。当我在本地工作时它工作正常,但当我部署到 Google App Engine 时我无法让它工作。
这是部署中代码中断的行:
d = pytesseract.image_to_data(img, output_type=Output.DICT)
我从gcloud app logs tail -s得到这个错误
文件“/app/pol_flow.py”,第 1587 行,在 upload_ocr d = pytesseract.image_to_data(img, output_type=Output.DICT) 文件“/usr/local/lib/python3.6/site-packages/pytesseract/pytesseract. py”,第 409 行,在 image_to_data 如果 get_tesseract_version() < '3.05':
文件“/usr/local/lib/python3.6/site-packages/pytesseract/pytesseract.py”,第 118 行,在 wrapper._result = func(*args, **kwargs)
文件“/usr/local/lib/python3.6/site-packages/pytesseract/pytesseract.py”,第 327 行,在 get_tesseract_version 中引发 TesseractNotFoundError() pytesseract.pytesseract.TesseractNotFoundError: /app未安装或不在您的路径中TesseractNotFoundError() pytesseract.pytesseract.TesseractNotFoundError: /app is not installed> 或者它不在你的路径中
我知道我必须将位置传递到这样的代码中:
pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
但是我在进行部署时不知道 Tesseract 的安装路径。
谢谢你的帮助!
PS:我遵循了这个答案,但是当我向 App Engine 中部署的端点发出请求时,我仍然收到相同的错误:TesseractNotFoundError()
解决方案
您的问题的正确答案是使用 App Engine Standard 无法做到这一点。您可以使用 App Engine 灵活环境实现此目的:您可以选择 带有Dockerfile的自定义运行时,它允许您安装所需的一切,在这种情况下,只需添加.apt-get install tesseract-ocr
正如@llompalles 所建议的那样,另一种选择是使用Cloud Run 。我已经实施了他分享的解决方案,它对我有用。
推荐阅读
- mysql - Mysql为每门课程选择所有课程及其章节
- python - TensorFlow 概率 - Bijector 训练
- python - 在python中将json写入excel文件的问题
- go - gocql 绑定在并发调用的情况下不起作用
- python - Django 3.1 | 管理页面外观问题
- python - SIR 估计在估计参数时发现错误原因
- jquery - 如果选择了单个结果,则覆盖结果 div,如果选择了多个,则追加
- c# - 如何在 EF 6 中重命名自动生成的 n:m 表?
- python - 抓取隐藏数据 [ window.__WEB_CONTEXT__= ] ...最好使用 Scrapy
- xcode - carthage build failed for realm-cocoa - 任务失败,退出代码为 65: