我不使用 conda - 我安装了 python 虚拟环境和 R。我不知道这是否重要,但我在 ubuntu for windows (WSL) 上运行(可能是我的错误的原因,可能无关)。在控制台中,它识别出了 jupyter。在 R 控制台中,我安装了 IRkernel,但 IRkernel::installspec() 给了我上面的错误(不认识 jupyter)。我找不到有效的解决方案,所以我在这里写下为我解决的问题。我在这里找到了 installspec 的内部结构。事先检查你的 jupyter 安装在哪里which jupyter
并从命令行运行 R。然后,运行以下代码(根据上面的链接进行调整):
srcdir <- system.file('kernelspec', package = 'IRkernel')
tmp_name <- tempfile()
dir.create(tmp_name)
file.copy(srcdir, tmp_name, recursive = TRUE)
spec_path <- file.path(tmp_name, 'kernelspec', 'kernel.json')
library(jsonlite)
spec$argv[[1]] <- file.path(R.home('bin'), 'R')
spec$display_name <- 'R'
write(toJSON(spec, pretty = TRUE, auto_unbox = TRUE), file = spec_path)
args <- c('kernelspec', 'install', '--replace', '--name', 'ir', file.path(tmp_name, 'kernelspec'))
system2('/path/to/jupyter', args) <--- here you copy paste the path you got earlier with pwd
unlink(tmp_name, recursive = TRUE)