猿问

在此 Python 进程中找不到 `java` 命令。请确保已安装 Java 并为 `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:


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

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


慕仙森
浏览 535回答 4
4回答

慕容森

在System Variables单击下Path,然后按Edit...而不是New。然后在下一个屏幕(Edit environment variable对于 Path 变量)单击New并添加地址,例如C:\Program Files (x86)\Java\jre1.8.0_201\bin. 按下OKPath 变量将被追加/更新。您需要重新启动您的环境(例如 Chrome、Anaconda 等)以使路径生效。

开心每一天1111

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

小怪兽爱吃肉

我在我的工作 PC 上也遇到了同样的问题,同时尝试使用tabula. 以下过程帮助我克服了这个问题。我还使用了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 添加到Pathin system variables. 像这样C:\Program Files (x86)\Common Files\Oracle\Java\javapath在工作 PC 和个人 PC 上都检查过,运行良好。

holdtom

请注意,如果您的计算机上尚未安装 Java,则此代码将不起作用。我可以确认,因为我以前没有运行 Java 并且遇到了这个问题,然后当我下载 Java 并将其添加到 PATH(如上面的解决方案中所述)时,它起作用了。概括:下载并安装java(复制安装位置)在高级系统设置中将安装位置添加到 PATH 变量
随时随地看视频慕课网APP

相关分类

Python
我要回答