在初始 IJava 安装和浏览器页面刷新后,我的所有笔记本都停止连接。
以前做什么工作
- 执行第一个单元格
!wget https://github.com/SpencerPark/IJava/releases/download/v1.3.0/ijava-1.3.0.zip
!unzip ijava-1.3.0.zip
!python install.py --sys-prefix
-
等待Installed java kernel
message
-
刷新浏览器页面。
-
使用 Java 代码执行任何单元。
现在发生的是
我可以执行第一个单元格并得到Installed java kernel
消息,看到笔记本状态为“已连接”。
但刷新页面后,笔记本的状态永远停留在“正在连接”,
因此没有单元格可以被执行。
--
我免费使用 Google Colab,但由于初始安装仍然有效,并且刷新页面之前笔记本状态为“已连接”,因此这应该不是问题。
知道发生了什么变化,以及如何让我的 Java 笔记本再次连接吗?
--
UPDATE 1
页面重新加载后,当我尝试运行包含 Java 代码的单元格时,这是我在一段时间后收到的错误消息:
await connected: disconnected
@https://ssl.gstatic.com/colaboratory-static/common/5f9fa09db4e185842380071022f6c9a6/external_polymer_binary_l10n__en_gb.js:6249:377
promiseReactionJob@[native code]
另外,笔记本设置是
运行时类型:java
硬件加速器:None
这些单元包含非常简单的 Java 代码,没有外部库,没有 CPU 或 GPU 密集型内容。
出于调试目的,我尝试运行其他单元(例如安装 Java 或 Python 代码的单元),但当然,它们在没有连接的情况下也不会执行。
--
UPDATE 2
安装 IJava 后和页面重新加载之前,我注意到 Java 内核的路径与“预安装”ir 和 python3 内核的路径不同:
!jupyter kernelspec list
Available kernels:
ir /usr/local/share/jupyter/kernels/ir
python3 /usr/local/share/jupyter/kernels/python3
java /usr/share/jupyter/kernels/java
这可能是问题所在吗?
(我以前从未检查过这一点,所以我不知道最近默认路径是否已更改。)
这是 ipynb 文件的元数据内容:
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [{
"file_id": "...",
"timestamp": 1670411565504
}, {
"file_id": "...",
"timestamp": 1670311531999
}, {
"file_id": "...",
"timestamp": 1605675807586
}],
"authorship_tag": "..."
},
"kernelspec": {
"name": "java",
"display_name": "java"
}
},
"cells": [{
...
]}
}