在pythonanywhere中为非英语语言使用pytesseract ocr

在pythonanywhere中为非英语语言使用pytesseract ocr,python,python-tesseract,Python,Python Tesseract,我正在创建一个网站在Pythonywhere为OCR。在这个用户可以上传文本图像和下载它在可编辑的格式。对于英语来说,它工作得很好,但是当我尝试包括一些其他语言(南印度语言)时,它显示了一些错误消息 我将额外的traineddata放入文件夹“/home/wiltomalayalamocr/mysite/langfiles”,其中包含“mal.traineddata”文件 在我的代码中 pytesseract.pytesseract.tesseract_cmd = r"

我正在创建一个网站在Pythonywhere为OCR。在这个用户可以上传文本图像和下载它在可编辑的格式。对于英语来说,它工作得很好,但是当我尝试包括一些其他语言(南印度语言)时,它显示了一些错误消息

我将额外的traineddata放入文件夹“/home/wiltomalayalamocr/mysite/langfiles”,其中包含“mal.traineddata”文件

在我的代码中

        pytesseract.pytesseract.tesseract_cmd = r"/usr/bin/tesseract"
        custom_oem_psm_config = '-l {} --psm {} --tessdata-dir "/home/wiltomalayalamocr/mysite/langfiles"'.format(lang,6)
        text = pytesseract.image_to_string(Image.open(filename) , config=custom_oem_psm_config)
其中lang=“mal” 但是我得到了错误

pytesseract.pytesseract.TesseractError: (1, 'Tesseract Open Source OCR Engine v3.04.01 with Leptonica Error opening data file /usr/share/tesseract-ocr/tessdata/mal.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory. Failed loading language \'mal\' Tesseract couldn\'t load any languages! Could not initialize tesseract.')
我正在使用python框架


任何人都可以帮我……

最后,经过两天的搜索和尝试,我找到了解决这个问题的方法

在bash控制台中设置环境变量(如下所示)是不够的

$export TESSDATA_PREFIX = /home/wiltomalayalamocr/mysite/langfiles
它不会对我们的应用程序产生影响,所以我们需要做的是在加载应用程序时设置环境变量。所以我所做的和下面的链接告诉我们的是一样的

我的项目目录是/home/wiltomalayalamocr/mysite my.env文件包含导出数据前缀=/home/wiltomalayalamocr/mysite/langfiles
在WSGI配置文件中,我添加了以下代码行

import os
from dotenv import load_dotenv
project_folder = os.path.expanduser('/home/wiltomalayalamocr/mysite')  # adjust as appropriate
load_dotenv(os.path.join(project_folder, '.env'))

也许可以将mal.traineddata下载到您的homedir中的某个位置,并将
TESSDATA\u前缀设置为指向您的homedir?$export TESSDATA\u PREFIX=/home/wiltomalayalamocr/mysite/langfiles我在Bash控制台中键入并尝试的上述代码……但是相同的错误