首页 > 解决方案 > 无法在 Google AI Platform 上使用 jupyter notebook 实例连接到 R 内核

问题描述

当我按照https://cloud.google.com/architecture/data-science-with-r-on-gcp-eda此处的说明创建新实例时,笔记本无法连接到 R 内核。它说初始化,然后连接然后断开连接。

当我 SSH 到服务器并调用curl http://127.0.0.1:8080/api/kernelspecs时,我得到以下输出。

{
    "default": "python3", 
    "kernelspecs": {
        "python3": {
            "name": "python3", 
            "spec": {
                "argv": [
                    "/opt/conda/bin/python", "-m","ipykernel_launcher", "-f", "{connection_file}"
                ], 
                "env": {}, 
                "display_name": "Python 3", 
                "language": "python", 
                "interrupt_mode": "signal", 
                "metadata": {"debugger": true}
            }, 
            "resources": {
                "logo-32x32": "/kernelspecs/python3/logo-32x32.png",
                "logo-64x64": "/kernelspecs/python3/logo-64x64.png"
            }
        }, 
        "ir": {
            "name": "ir", 
            "spec": {
                "argv": [
                    "/usr/lib/R/bin/R", "--slave", "-e", "IRkernel::main()", "--args", "{connection_file}"
                ], 
                "env": {}, 
                "display_name": "R", 
                "language": "R", 
                "interrupt_mode": "signal", 
                "metadata": {}
            }, 
            "resources": {
                "kernel.js": "/kernelspecs/ir/kernel.js", 
                "logo-64x64": "/kernelspecs/ir/logo-64x64.png"}
            }, 
            "conda-root-py": {
                "name": "conda-root-py", 
                "spec": {
                    "argv": ["/opt/conda/bin/python", "-m", "ipykernel_launcher", "-f", "{connection_file}"
                    ], 
                    "env": {}, 
                    "display_name": 
                    "Python [conda env:root] *", 
                    "language": "python", 
                    "interrupt_mode": "signal", 
                    "metadata": {
                        "debugger": true, 
                        "conda_env_name": "root", 
                        "conda_env_path": "/opt/conda"
                    }
                }, 
                "resources": {
                    "logo-32x32": "/kernelspecs/conda-root-py/logo-32x32.png", 
                    "logo-64x64": "/kernelspecs/conda-root-py/logo-64x64.png"
                }
            }
       }
}root@r-ma5832xxxxxxxxx

这是否适用于使用 R4.0 环境选项创建的实例?

标签: jupytergoogle-ai-platformr-4.0.0

解决方案


当我检查服务器日志时,我发现:

Error: package ‘IRkernel’ was installed before R 4.0.0: please re-install it

我打开了一个连接到服务器的 ssh 控制台并 cd 到 /etc/R,然后通过键入“R”启动 R。

然后我尝试install.packages('IRkernel')按照此处的说明安装软件包:https ://github.com/IRkernel/IRkernel只是我遇到了很多缺失的依赖项。我尝试按照此处的说明更新我的 R 版本:https ://cran.r-project.org/bin/linux/debian/#debian-buster-stable但事实证明我是最新的。剩下的唯一一件事就是更新我所有的包。我按照 cran 网站上的说明操作,然后回到我的 jupyter notebook 并可以连接到内核。

最后,我所要做的就是在我的服务器上的 R 中运行以下命令来解锁内核。

update.packages(lib.loc="/usr/local/lib/R/site-library", ask = FALSE, checkBuilt = TRUE, Ncpus = 16)

推荐阅读