使用java 1.8在tabula -py中调用CalledProcessError

时间:2018-04-27 06:46:53

标签: python tabula

我正在尝试使用python中的tabula -py从pdf中提取表。但是我得到了CalledProcessError

from tabula import read_pdf
df=read_pdf("table.pdf",pages="all")

Error:
CalledProcessError: Command '['java', '-jar', 
'C:\\ProgramData\\Anaconda2\\lib\\site-packages\\tabula\\tabula-1.0.1-jar- 
with-dependencies.jar', '--pages', 'all', '--guess', 'table.pdf']' returned 
non-zero exit status 2

Java版本:1.8.0_131

OS - Windows 7

这个问题(tabula-py CalledProcessError: Command '['java', '-jar')建议升级到java 1.8。但是,我已经有了java 1.8,但仍然收到错误。

对此的任何帮助都将非常感激。 谢谢!

3 个答案:

答案 0 :(得分:0)

此命令可能会在当前目录中创建一些文件,这些文件可能无法在editer中回复。 所以我将pdf文件放在保存脚本的相同位置 它对我有用

答案 1 :(得分:0)

谢谢@Pp jym& @chezou回复!

然而,问题发生是因为java试图运行java 7 VM,它发现了JRE 8.问题Registry key Error: Java version has value '1.8', but '1.7' is required中建议的步骤帮助修复了错误。

答案 2 :(得分:0)

这对我有用:

  1. 打开运行,输入“ regedit”
  2. 转到: HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ Java运行时环境
  3. 将JavaHome和RuntimeLib位置更改为jre所在的位置 已安装。 (我的位置是C:\ Program Files \ Java \ jre和C:\ Program 分别是Files \ Java \ jre \ bin \ server \ jvm.dll)