Macos|在Jupyter notebook里添加R kernel

以前是windows系统,因为Jupyter notebook的交互和展示更友好,所以直接用Jupyter跑python和R。换macOS之后配置R kernel一直有点问题,记录下踩坑和最终解决方案。

主要参考教程:
jupyter notebook配置IRkernel
jupyter中配置R

预先准备

  1. 下载anaconda、R(不一定需要Rstudio)
    直接官网下载系统对应的版本就可以 anaconda R
    检验:mac自带的terminal里输入以下命令,可以返回当前Jupyter版本号
    jupyter kernelspec --version
    
    在terminal里输入R 可以进入R
    在这里插入图片描述

核心步骤

根据教程,在Jupyter里配置R kernel是这两步

# 第一步:安装IRkernel
install.packages('IRkernel')

# 第二步:在jupyter notebook中安装,以下两个按需执行其中一个即可
# 只在当前用户下安装
IRkernel::installspec()
# 或者是在系统下安装
IRkernel::installspec(user = FALSE)

如果在R的终端里可以直接跑通以上命令的话,你很幸运,就不需要看之后的参考了,打开Jupyter应该就能有R kernel
在这里插入图片描述

踩坑记录

在实际操作时会不知道这些命令是在终端输入还是在R命令行界面输入,并且一直有各种报错,以下时我踩的坑和解决方案。

坑1:不需要下载anaconda的R

有一些教程包括anaconda的官方教程都会让你在anaconda的prompt终端里用conda install 来下载r及其依赖包,但是我操作时遇到两个问题,一个是用anaconda下载的R和官网下载的路径不同、版本也不同,下载依赖包时有各种报错:
installation of package ‘digest’ had non-zero exit status
在这里插入图片描述
(注意,核心步骤里的命令都是在R里执行的,所以需要从终端里先用R命令进入R再执行,不过其实最后发现用不到anaconda下载的这个R)

坑2:在R console里执行IRkernel::installspec()时报错

既然终端无法install IRkernel,我就在R的console里也试了试(不是R studio)。执行install.packages(‘IRkernel’)时没报错,但是下一步出现了如下错误:jupyter-client has to be installed but “jupyter kernelspec --version” exited with code 127.在这里插入图片描述
我明明是下载且能打开Jupyter的,并且我在终端里可以成功执行“jupyter kernelspec --version”
在这里插入图片描述
所以我怀疑可能是环境变量之类的问题,导致我的R无法成功连接到Jupyter。

验证

我分别在终端(terminal)的R和R console中执行了R.home(),发现俩R的路径果然不一样
终端的 终端的路径
R console R console的路径

解决方案

  1. 在终端里用sudo进入R console所在的那个文件夹
    sudo /Library/Frameworks/R.framework/Resources/bin/R
    (mac的默认路径应该就是这个,参考上面R.home()的路径,如果不一样的话就对应修改)
    输入用户密码后就可以进入R了
    在这里插入图片描述
  2. 此时再执行上述核心步骤的命令,就可以成功下载包并安装了
    在这里插入图片描述
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值