首页 > 解决方案 > 在创建运行我的服务器时生效的环境变量时遇到问题

问题描述

这是我在这里的第一个问题,所以虽然我会尽力正确地提出问题,但请耐心等待。我正在尝试在我的服务器上的某个服务器上使用 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 ,这让我相信我真的设法让它工作,但是唉,我一直收到和以前一样的错误。

为了清楚起见,我尝试了父目录,我尝试了确切的目录,也许还有其他所有目录。任何帮助,将不胜感激。谢谢。

标签: pythondjangopythonanywherepython-tesseract

解决方案


感谢大家。已经有一段时间了,但我最终将 heb.traineddata 全部替换,然后添加了 TESSDATA_PREFIX 变量。我希望我能更确定问题出在哪里,但至少我让它起作用了。


推荐阅读