Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

I don't know how to fix this error when I'm trying to run the following code:

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

Log:

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`

I tried changing and creating the path in the environmental variables but did not work. Here is the screenshot:

System_Properties

Does anyone know how to fix this? I have java version 8 (Checked through about java)

like image 354
Ryan Ni Avatar asked Dec 05 '22 10:12

Ryan Ni


2 Answers

Under the System Variables click Path and then press the Edit... instead of New. Then in the next screen (Edit environment variable for the Path variable) click New and add the address, e.g. C:\Program Files (x86)\Java\jre1.8.0_201\bin. Press OK and the Path variable will be appended/updated.

You will need to restart your environment (e.g. Chrome, Anaconda, etc) for the path to have effect.

like image 83
geo s Avatar answered May 11 '23 00:05

geo s


You need to add Java to the path variable (look at this question in Java Help Center), not create a new one. Also, make sure you're properly referencing a file to read, looks like your log threw a FileNotFound exception.

like image 38
Hazim Avatar answered May 10 '23 22:05

Hazim