繁体   English   中英

在这个 Python 进程中找不到 `java` 命令。 请确保已安装 Java 并为 `java` 设置了 PATH

[英]`java` command is not found from this Python process. Please ensure Java is installed and PATH is set for `java`

当我尝试运行以下代码时,我不知道如何修复此错误:

df = wrapper.read_pdf(r'C:\End_to_End\1902\PN\Scenario1_AllCorrectMin\EPR.pdf')

日志:

FileNotFoundError                         Traceback (most recent call last)
~\AppData\Local\Continuum\anaconda3\lib\site-packages\tabula\wrapper.py in read_pdf(input_path, output_format, encoding, java_options, pandas_options, multiple_tables, **kwargs)
    107     try:
--> 108         output = subprocess.check_output(args)
    109 

~\AppData\Local\Continuum\anaconda3\lib\subprocess.py in check_output(timeout, *popenargs, **kwargs)
    335     return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
--> 336                **kwargs).stdout
    337 

~\AppData\Local\Continuum\anaconda3\lib\subprocess.py in run(input, timeout, check, *popenargs, **kwargs)
    402 
--> 403     with Popen(*popenargs, **kwargs) as process:
    404         try:

~\AppData\Local\Continuum\anaconda3\lib\subprocess.py in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors)
    708                                 errread, errwrite,
--> 709                                 restore_signals, start_new_session)
    710         except:

~\AppData\Local\Continuum\anaconda3\lib\subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, unused_restore_signals, unused_start_new_session)
    996                                          os.fspath(cwd) if cwd is not None else None,
--> 997                                          startupinfo)
    998             finally:

FileNotFoundError: [WinError 2] The system cannot find the file specified

During handling of the above exception, another exception occurred:

JavaNotFoundError                         Traceback (most recent call last)
<ipython-input-3-010e34a004ec> in <module>()
----> 1 df = wrapper.read_pdf(r'C:\End_to_End\1902\PN\Scenario1_AllCorrectMin\EPR.pdf')

~\AppData\Local\Continuum\anaconda3\lib\site-packages\tabula\wrapper.py in read_pdf(input_path, output_format, encoding, java_options, pandas_options, multiple_tables, **kwargs)
    109 
    110     except FileNotFoundError as e:
--> 111         raise JavaNotFoundError(JAVA_NOT_FOUND_ERROR)
    112 
    113     except subprocess.CalledProcessError as e:

JavaNotFoundError: `java` command is not found from this Python process. Please ensure Java is installed and PATH is set for `java`

我尝试在环境变量中更改和创建路径,但没有奏效。 这是屏幕截图:

系统属性

有谁知道如何解决这一问题? 我有 java 版本 8(通过关于 java 的检查)

System Variables下单击Path ,然后按Edit...而不是New 然后在下一个屏幕(路径变量的Edit environment variable )中单击New并添加地址,例如C:\Program Files (x86)\Java\jre1.8.0_201\bin OK ,Path 变量将被追加/更新。

您需要重新启动您的环境(例如 Chrome、Anaconda 等)才能使路径生效。

您需要将 Java 添加到path变量中(查看 Java 帮助中心中的这个问题),而不是创建新的。 此外,请确保您正确引用了要读取的文件,看起来您的日志引发了 FileNotFound 异常。

在尝试使用tabula从 PDF 读取表格数据时,我在工作 PC 上也遇到了同样的问题。 以下过程帮助我克服了这个问题。

我还使用了amazon corretto ,它基本上是一个 openJDK。 免费使用和安装,由亚马逊维护。

将其安装在C:\驱动器中。

现在,转到系统属性中的environment variables system variables下,双击Path并单击New添加如下路径C:\Users\20195579\amazon-corretto-11.0.12.7.1-windows-x64-jdk\jdk11.0.12_7

还要在system variables Variable Name: JAVA_HOME variable value: C:\Users\20195579\amazon-corretto-11.0.12.7.1-windows-x64-jdk\jdk11.0.12_7见下图。 在此处输入图像描述

添加后应该是这样的: 在此处输入图像描述

如果仍然面临问题,请将 Oracle javapath 添加到system variables中的Path 像这样C:\Program Files (x86)\Common Files\Oracle\Java\javapath

在工作电脑和个人电脑上检查过,运行良好。

请注意,如果您的计算机上尚未安装 Java,则此代码将不起作用。 我可以确认,因为我之前没有运行 Java 并且遇到了这个问题,然后当我下载 Java 并将其添加到 PATH(如上面的解决方案中所述)时,它起作用了。

概括:

  1. 下载并安装java(复制安装位置)
  2. 在高级系统设置中将安装位置添加到 PATH 变量

根据我的经验,我也面临同样的问题,我在这里分享。

第 1 步 - 下载并完成 Java 安装后(复制 bin 路径位置并添加到环境变量中) 垃圾箱位置

Step2 - 在环境变量中添加 Java PATH 位置。 在此处输入图像描述

您仍然遇到同样的错误,重新启动您的 anaconda 和 Chrome 或重新启动您的电脑。

在命令提示符下检查以下代码

java --version

完成Java安装和环境变量路径设置指导视频-链接

在控制台中的 linux 分发类型上: >sudo apt install openjdk-8-jdk对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM