python - 在创建运行我的服务器时生效的环境变量时遇到问题
问题描述
这是我在这里的第一个问题,所以虽然我会尽力正确地提出问题,但请耐心等待。我正在尝试在我的服务器上的某个服务器上使用 Tesseract 和 Django 运行 OCR(pythonanywhere,如果它在任何方面都很重要),但我一直遇到这个错误:
pytesseract.pytesseract.TesseractError: (1, 'Tesseract Open Source OCR Engine v3.04.01 with Leptonica
Error opening data file /usr/share/tesseract-ocr/tessdata/heb.traineddata Please make sure the
TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory. Failed
loading language \'heb\' Tesseract couldn\'t load any languages! Could not initialize tesseract.')
所以,起初,我以为我可以将正确的“tessdata”文件(存在于我的服务器上)移动到 /usr/share/bin 中......但如果没有 root 用户,我就无法做到这一点。无论我在 Bash shell 中尝试了什么,我都无法访问 root 用户(尽管我从未被要求实现一个)。我不能使用我经常看到的“sudo”命令,我猜这是因为它不是 Bash shell(或 Unix,我不知道如何引用它)中的有效命令。我想我有一个名为“Orikle”的 root 用户,但无论如何,我都无法找到正确的密码(尝试了我帐户的 pythonanywhere 密码和 Django 超级用户密码(是的,我知道这是如意的-思维))。
放弃那个方法后,看到报错说可以设置TESSDATA_PREFIX环境变量。所以然后我 STFW 并发现了如何创建 shell 和 env 变量,实际上我创建了它们,但无济于事。当我进入控制台并输入时,printenv
我可以看到
TESSDATA_PREFIX=/home/Orikle/.virtualenvs/myenv/bin/Tesseract-OCR
,这让我相信我真的设法让它工作,但是唉,我一直收到和以前一样的错误。
为了清楚起见,我尝试了父目录,我尝试了确切的目录,也许还有其他所有目录。任何帮助,将不胜感激。谢谢。
解决方案
感谢大家。已经有一段时间了,但我最终将 heb.traineddata 全部替换,然后添加了 TESSDATA_PREFIX 变量。我希望我能更确定问题出在哪里,但至少我让它起作用了。
推荐阅读
- python - 作为 Keras lambda 层的图像预处理与单独的预处理
- javascript - 用于分页的javascript切片对象?
- curl - curl:以称为文件的多部分形式发布一个字段?
- openapi - OpenAPI 3.0 中服务器属性的意义是什么?
- c++ - C++:执行时程序“无响应”
- php - 将 Laravel 代码转换为 Javascript?
- hibernate - 使用 AWS Elastic Beanstalk - jpa 配置进行部署时,Spring Boot webapp 失败?
- nginx - 根目录下的 NGINX 目录不可访问
- c# - 如何在 IF 构造中处理 Xamarin DisplayAlert
- javascript - 为什么数组没有传递所有值js