如何在Jupyter Notebook中更改要使用的Java版本

3
我正在Anaconda提示符中启动Jupyter。然而,我遇到了一些错误,因为当我在笔记本中执行!echo %JAVA_HOME%时,它指向某个具有Java 11的位置,而我需要Java 8。
我在Anaconda提示符中执行echo %JAVA_HOME%,并得到与Java 11相同的路径。 当我执行set JAVA_HOME='___'(Java 8路径),然后再次打印变量值时,它会给出我想要的正确路径,即Java 8位置。但是,当我回到笔记本并运行相同的命令时,它仍然显示为Java 11路径。
当我在命令提示符中打印JAVA_HOME时,它会给出我想要的Java 8路径,但在使用Anaconda提示符时则不会。 我如何在Anaconda / Jupyter笔记本中更改它?

你的电脑上JAVA_HOME是如何设置的?如果你在Anaconda提示符中设置了JAVA_HOME,然后再启动Jupyter,它是否正常工作? - darthbith
这个可以工作,但它卡在了 sc = SparkContext.getOrCreate() 这一行。 - formicaman
这是你的代码的一部分吗?如果是,你可能需要提出一个关于你的代码的单独问题。 - darthbith
1
@formicaman 你是怎么解决这个问题的? - sareem
1个回答

1
以下代码块可用于修改Jupyter笔记本中的Java版本。
这里我将Java版本从11更改为8。
  1. 通过在Jupyter中执行!/ usr / libexec / java_home-V(对于终端,请不要加上!)来识别安装的Java版本。
  2. 在下面的代码块中将java_path值替换为所需的Java版本。
java_path = "/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home"
java_home = os.environ.get('JAVA_HOME', None)

print("Existing Java Home: ",java_home)

if (not java_home) or (java_path not in java_home):
    os.environ['JAVA_HOME'] = java_path

print("Updated Java Home: ",os.environ.get('JAVA_HOME', None))

Existing Java Home:  /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
Updated Java Home:  /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接