tabula.errors.JavaNotFound在谷歌云功能中使用tabula时出错



对于我的应用程序,我使用tabula包将pdf转换为csv。我编写的cloud函数是用python3.7编写的。我已经把它写在requirements.txt文件中了。但是我收到这个错误

File "/layers/google.python.pip/pip/lib/python3.7/site-packages/tabula/io.py", line 91, in _run raise JavaNotFoundError(JAVA_NOT_FOUND_ERROR) tabula.errors.JavaNotFoundError: `java` command is not found from this Python process.Please ensure Java is installed and PATH is set for `java`

需求文件

tabula-py==1.4.1

main.py

import tabula
df = tabula.read_pdf('/tmp/' + file_id +'.pdf', pages = required_page)[0]
tabula.convert_into('/tmp/' + file_id +'.pdf', '/tmp/' + file_id +'.csv',output_format="csv",pages=required_page, stream=False)

如何解决此问题?有其他选择吗?

由于Java未包含在Google Cloud Functions Python3.7使用的运行时映像中,因此会出现此错误。

这意味着不可能在Python云函数中使用此库,因为Java不在包含的系统包中。

然而,作为替代方案,您可以使用Google Cloud Run,这是一款更现代的产品,涵盖了与Cloud Functions相同的功能。您可以使用此Quickstart部署您的第一个服务,然后在Dockerfile中安装Java,或者使用安装Java时附带的另一个Docker映像。

相关内容

  • 没有找到相关文章

最新更新