【问题标题】:Error Python tabula with two versions of Java installed安装了两个 Java 版本的错误 Python 表格
【发布时间】:2020-03-09 21:13:42
【问题描述】:

我安装了 2 个 Java 版本,一个用于 tabula-py,另一个用于 Teradata(与工作相关)。我只能让 Java 1.8 与 tabula-py 一起工作,而 1.7 是我公司的 Teradata 版本。

我已经删除了对 java 的任何环境变量引用,但版本 1.8 除外,我通过创建自己的变量并将其添加到 'PATH' (%JAVA_HOME%\bin) 来实现。 但是,不管我做什么,它总是返回一个 java 文件路径不存在的错误。当我卸载 1.7 时,它每次都可以工作,但每当我安装它时,它就会中断。 当我在命令行上检查 java 版本时,它返回: '''Java 版本“1.7.0_80”''' 我查看了代码,在 util.py 中我看到它使用以下代码引用了“subprocess.check_output”:

''' res = subprocess.check_output(["java", "-version"], stderr=subprocess.STDOUT) '''

经过一番研究,我读到它与 shell 与 echo/bin 有关。我无法理解它。 (Python: Exporting environment variables in subprocess.Popen(..))

有人可以帮我知道我做错了什么吗?

【问题讨论】:

标签: java python subprocess environment-variables tabula


【解决方案1】:

您一次只能使用一个版本的java,哪个路径优先在环境变量中设置,但您也可以从命令提示符设置临时路径,您可以选择您想要使用的任何版本。

在命令提示符下使用这个命令

set path=C:\Program Files\Java\jdk1.8.0_161\bin

注意:每次打开命令提示符时都必须设置路径,因为这是一个临时路径。

【讨论】:

  • 谢谢!有什么办法可以在 python 模块中做到这一点?我不想每次我想使用那个库时都必须调整它。
  • 是的,为此您必须在环境变量中设置路径。在环境变量中设置路径时,一次只能运行一个java版本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-24
  • 1970-01-01
  • 2021-08-26
  • 2015-04-27
  • 2012-02-13
  • 1970-01-01
  • 2016-06-12
相关资源
最近更新 更多