1

对于我的应用程序,我使用 tabula 包将 pdf 转换为 csv。我写的云函数是在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

主文件

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)

我该如何解决这个问题?有什么替代方案吗?

4

1 回答 1

1

由于 Java 未包含在Google Cloud Functions Python3.7 使用的运行时映像中,因此该错误是意料之中的。

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

但是,作为替代方案,您可以使用Google Cloud Run,它是一种更现代的产品,涵盖了与 Cloud Functions 相同的功能。您可以使用此快速入门来部署您的第一个服务,然后在 Dockerfile 中安装 Java,或者使用安装了 Java 的另一个 Docker 映像。

于 2021-12-17T11:15:19.810 回答