jupyter - 无法在 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 环境选项创建的实例?
解决方案
当我检查服务器日志时,我发现:
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)
推荐阅读
- python - Python JSON编码无效的json格式
- python - 根据数据框中的列设置日期
- python - wait_for() 多用户 discord.py
- python - 使用python在同一图中为csv dile绘制多个x轴和多个y轴
- c++ - VS2019 应用程序的 Windows 10 外观
- javascript - 调用时使用旧状态回调
- python - 禁止使用 urllib.request 和请求的 HTTP
- spring - `ElasticsearchRepository` 中的所有方法都已弃用。我应该使用什么?
- python - 具有自注意力的 LSTM 用于多类文本分类
- android - 如何将 JavaScript 生成的数据保存到 Android WebView 中的文件中