- 路径出错
docker创建的jupyter镜像中,安装了python内核及R内核,原来的R在envs中,于是我在base也安装了一个R。在安装完R包的时候,打开jupyter notebook,发现已安装的R包加载不出来,用.libPaths()
查询packages的安装路径发现,包的路径和我安装的路径不一致。原因是不知道什么时候kernel.json
里的路径被修改了。
- 尝试解决一:在现在的jupyter notebook列表里显示的R包路径中重新把全部包装一遍,太费时,暂时不尝试。
- 尝试解决二:再安装一个R内核,对应已安装r包的路径。
source activate r3.6
进入环境中,which R
找到envs里R安装的位置,输入R
,进入R中输入IRkernel::installspec(name = "ir1", displayname = "R1")
这个命令再安装一个r内核。(可查看R kernel for Jupyter)
再次查看jupyter notebook 内核列表:jupyter kernelspec list
此时,多了一条:
但是,打开jupyter notebook,列表里并没有显示新安装的这个R内核.
- 尝试解决三:于是把
kernel.json
文件中的argv
中的路径修改了一下:
But,不知道为什么,自动变成了这样
于是,jupyter notebook打开后,new notebook列表里干脆没有了R - 尝试解决四:接着上一步, 然后
mv /home/路径/ir /opt/路径/kernels
jupyter kernelspec list
cd /opt/路径/kernels/ir
cat kernel.json
(1)“display_name”: " R",就是在jupyter notebook上显示的R的名字,随意修改;
(2)“language”: “R” 表示使用R语言,请保持不变;
(3)"/opt/conda/…/R"是R的安装路径
合适,再次打开,R packages路径已修改成功!
相信肯定有更合适的方法,但是当无法改变环境的时候,就只能去适应环境了。