【发布时间】:2021-10-21 08:32:51
【问题描述】:
我找不到与我的问题相关的任何内容
我在docker文件下面试过
RUN apt-get update && apt-get install -y \
software-properties-common
RUN apt-get update && \
apt-cache search openjdk && \
apt-get install openjdk-8-jdk && \
apt-get clean;
RUN apt-get update && \
apt-get install ca-certificates-java && \
apt-get clean && \
update-ca-certificates -f;
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
RUN export JAVA_HOME
#tabula.errors.JavaNotFoundError: `java` command is not found from this Python
#process.Please ensure Java is installed and PATH is set for `java`
当我使用 import tabula 时,我得到了 tabula.errors.JavaNotFoundError。有人可以帮忙解决 docker 中的这个错误吗?
更新:
我正在使用烧瓶和 mongodb。在烧瓶中,有一个代码负责读取 pdf 文件,它是 tabula,它需要 Java,正如它在错误中所说的那样。对于我用 pipfile 和 pipfile.lock 安装的其他 python 包
RUN pip install pipenv
COPY Pipfile . #<---- contains tabula package
COPY Pipfile.lock . #<---- contains tabula package
RUN PIPENV_VENV_IN_PROJECT=1 pipenv install --deploy
##But i have no idea how to install java for tabula dependecy.
****************最终更新**********************
我用 pdfplumber 替换了 tabula。现在工作正常,感谢所有试图帮助我的人。
【问题讨论】:
-
什么代码产生了你引用的错误?与其在普通的 Ubuntu 映像上手动安装 Java,不如启动你的映像
FROM openjdk? -
这是您的完整 DOCKERFILE 吗?其中你可能应该看看网上的例子,就像@davidmaze 建议的那样,使用预构建的 java 或 openjdk 映像,它们通常保持最新并且比其他自制的更稳定
-
您好,谢谢您的回复,您能举个例子吗?我尝试了很多。
-
从 openjdk 给出后仍然给出 tabula.errors.JavaNotFoundError:
javacommand is not found from this Python process. -
@NoamYizraeli 我更新了请帮忙
标签: java python docker docker-compose dockerfile