RuntimeError:TSVNotSupported:不支持TSV输出。需要Tesseract> = 3.05(Google Dataflow)

时间:2019-05-10 13:34:11

标签: tesseract google-cloud-dataflow python-tesseract

当前想在大型数据集上的Google Dataflow上分发文本检测。 我正在使用tesseract的python软件包,该软件包已安装,没有问题。 安装tesseract-ocr软件包时会出现问题。 似乎正在安装旧版本的tesseract-ocr。

我已经尝试过向软件包中添加版本号或通过tar.gz文件进行安装。 还尝试使用ppa-alex-p软件包管理器。

ppa:alex-p:

CUSTOM_COMMANDS = [
    ['add-apt-repository', 'ppa:alex-p/tesseract-ocr'],
    ['apt-get', 'update'],
    ['apt-get', '--assume-yes', 'install', 'tesseract-ocr'],

    ['pip', 'install', 'pytesseract'],
    ['pip', 'install', 'opencv-python'],
    ['pip', 'install', 'pytesseract'],
    ['pip', 'install', 'tensorflow']
]

版本号:

CUSTOM_COMMANDS = [
    ['apt-get', 'update'],
    ['apt-get', '--assume-yes', 'install', 'tesseract-ocr=3.05.00'],

    ['pip', 'install', 'pytesseract'],
    ['pip', 'install', 'opencv-python'],
    ['pip', 'install', 'pytesseract'],
    ['pip', 'install', 'tensorflow']
]

通过文件安装:

dataflow_options = {
        'runner': 'DataflowRunner',
        'job_name':  job_name,
        'staging_location': STAGING_LOCATION,
        'temp_location': TEMP_LOCATION,
        'project': PROJECT_ID,
        'service_account_email': SERVICE_ACCOUNT,
        'region': 'europe-west1',
        'zone': 'europe-west1-d',
        'machine_type': 'n1-standard-8',
        'autoscaling_algorithm': 'THROUGHPUT_BASED',
        'save_main_session': True,
        'setup_file': './setup.py',
        'extra_package': './tesseract-4.0.0.tar.gz',
    }

在此链接上使用以下代码执行CUSTOM_COMMANDS。 https://gist.github.com/inchoate/bd0ff7f609f57c85d9de8ff9d5586e30

希望在Google Dataflow上看到具有最新版本的已安装软件包。

1 个答案:

答案 0 :(得分:0)

您要安装tesseract的操作系统版本是什么?尝试在旧版本的Ubuntu上运行tesseract时遇到相同的错误。在18.04 Bionic上运行后,请使用以下命令安装tesseract

sudo apt install -y libtesseract-dev libleptonica-dev tesseract-ocr

应该工作。您可能还想install from Git