Jupyter Notebook 怎么安装 R 语言内核

向北走
向北走
发布时间:2026-08-25| 92人浏览过
原创

前言

很多人给 Jupyter Notebook 配 R 内核时,命令看着不多,结果却常常是“装完没反应”。问题往往不在 IRkernel 本身,而在 R 和 Jupyter 是否处于同一环境。本文按环境检查、conda 安装、手动注册和常见报错四步整理,帮你快速判断该用哪种方案,以及该从哪里排查。

很多人给 Jupyter Notebook 配 R 内核时,命令并不复杂,问题却总出在“装完看不见”。真正的分水岭通常不是 IRkernel 本身,而是 R 与 Jupyter 是否来自同一套环境。下面按最容易踩坑的顺序梳理检查、安装和排错方法,帮助你判断该用 conda 方案还是手动注册方案,并定位为什么内核没有出现。

先确认 R 和 Jupyter 在不在同一环境

这是最容易被跳过的一步,也是大多数“安装完成但没有任何反应”问题的根源。尤其是 Anaconda 用户,经常会出现这样的混用:Jupyter 来自 conda 环境,R 却是系统单独安装的版本,或者反过来。这样即使 IRkernel::installspec() 跑完,也可能只是把内核注册到了错误位置,表面上不报错,Jupyter 里却看不到 R。

用纸面卡片方式展示 Jupyter、R 与内核注册目录是否处于同一环境的关系
环境是否一致,决定内核能不能出现先确认 R 与 Jupyter 是否来自同一环境,这是内核装完却不显示时最该先查的一步。

可以先做两组检查:

  • 在终端(macOS/Linux)或 Anaconda Prompt(Windows)执行 jupyter --paths,记下输出中的 data 目录。
  • 再执行 R -e ".libPaths()",查看当前 R 使用的 library 路径,确认它和前面的 Jupyter 数据目录是否属于同一套环境,尤其留意是否能对应到 kernels 相关目录。

如果你的 R 是通过 conda install -c r r-essentials 安装的,就不要再切回系统自带的 R 或 RStudio 里执行 install.packages() 和 IRkernel::installspec()。那样只会把包和内核注册到另一套 R 环境中,结果就是命令看似执行成功,Jupyter 却无感知。

这一步的判断标准可以简单概括为一句话:你准备用来运行 notebook 的 Jupyter,必须能找到你刚刚安装 IRkernel 的那个 R。

Anaconda 用户优先用 conda 安装

如果你本身就在用 Anaconda 或 Miniconda,最省事的做法不是手动拼依赖,而是直接使用 conda 提供的 R 内核包。这样可以减少路径判断和依赖不一致的问题,也更适合后续统一管理 R 包。

推荐步骤如下:

conda install -c conda-forge r-irkernel
python -m r_kernel install

这里有一个容易忽略的点:注册内核时推荐使用 python -m r_kernel install,而不是先进入 R 再调用安装命令。这样做的好处是直接通过当前 Python 环境完成 Jupyter 内核注册,更贴近 conda 的环境管理逻辑,也能避开一部分 IRkernel::installspec() 静默失败的问题。

安装完成后,启动:

jupyter notebook

然后在新建 notebook 的 New 下拉菜单中检查是否已经出现 R。如果能看到并正常创建,说明这套环境已经打通。

如果你需要让这台机器上的多个用户都能使用同一个 R 内核,可以把注册命令改成:

python -m r_kernel install --user=False

这个参数会让内核以非当前用户私有的方式注册,更适合共享机器或实验室场景。

非 conda 环境怎么手动安装 IRkernel

如果你不用 conda,或者本来就维护了一套自定义 R 环境,那么可以手动安装 IRkernel。但要注意,所有操作都必须在“你真正要给 Jupyter 使用的那个 R 实例”里完成,不能随手打开另一个 R GUI 就开始装包。

展示 conda 安装与手动安装两条 R 内核方案的适用场景和关键命令
conda 与手动安装,分别适合谁conda 方案适合大多数桌面用户,手动安装更适合自定义 R 环境或多版本并存场景。

先确认当前 R 的位置:

  • macOS/Linux 执行 which R
  • Windows 执行 where R

确认输出路径就是目标 R 之后,再启动它:

R

进入 R 后执行下面这组命令:

install.packages(c('repr', 'IRdisplay', 'evaluate', 'crayon', 'pbdZMQ', 'uuid', 'digest'), repos='https://cran.rstudio.com/')
devtools::install_github('IRkernel/IRkernel')
IRkernel::installspec(name = 'ir44', displayname = 'R 4.4')

其中,name 是内核的内部标识名,适合用来区分不同版本,避免和旧内核冲突;displayname 是 Jupyter 界面里真正显示给用户看的名称,比如这里的 R 4.4。

如果过程中提示找不到 devtools,先执行:

install.packages('devtools')

再重新运行后两行命令即可。

这套手动方法更灵活,适合多版本 R 并存或需要精确控制内核名称的场景,但前提始终没变:你注册内核的这个 R,必须和 Jupyter 最终能访问到的环境对应起来。

装完没反应时,优先排查这几类问题

如果 IRkernel::installspec() 已经执行过,但 Jupyter 里仍然没有 R,优先怀疑的不是命令本身,而是注册路径、依赖或底层通信库。

以问题卡片方式总结 Jupyter 中 R 内核常见报错与对应排查方向
常见报错,先看哪一环断了当内核不显示、启动即退或一直卡住时,通常都能从路径、依赖和 zmq 通信库三个方向找到原因。

1. 提示 jupyter-client has to be installed

报错如下:

Error in IRkernel::installspec() : jupyter-client has to be installed

这通常表示当前 R 找不到可用的 Jupyter。原因可能是 Jupyter 根本没有通过 pip 或 conda 安装,也可能是 PATH 没有指向正确位置。先用:

which jupyter

确认 Jupyter 的实际路径,然后在 R 中显式指定:

IRkernel::installspec(jupyter = '/path/to/jupyter')

2. 内核启动后立刻退出

如果 Jupyter 能看到 R,但创建 notebook 后出现 Kernel died, restarting,通常说明 R 侧依赖没装完整,或者包版本之间不匹配。重点检查 repr、IRdisplay、pbdZMQ 是否已经安装齐全。

版本上也要留意兼容性。原文给出的经验是:R 4.3+ 推荐搭配 IRkernel >= 1.5。如果 R 已经升级,而 IRkernel 还是旧版,就可能出现启动即崩的问题。

3. 选中 R 内核后一直卡住

如果内核列表里已经有 R,但新建 notebook 后迟迟不进入可用状态,常见原因是 zmq 通信库缺失。IRkernel 本质上要靠这层库和 Jupyter 通信,底层没配好,就会表现为一直卡住。

在 Linux 或 macOS 上,可以先补齐系统依赖:

sudo apt install libzmq3-dev

Ubuntu 常用上面这条;macOS 则使用:

brew install zeromq

装好后再重新安装相关 R 包或重新注册内核,通常更稳妥。

判断是否安装成功,关键看这两个结果

给 Jupyter Notebook 安装 R 内核,表面上像是在执行三五条命令,实际上核心只有两个判断:第一,R 和 Jupyter 是否确实处于同一环境;第二,内核是否被注册到 Jupyter 真正会读取的位置。

如果你是 Anaconda 用户,优先选择 conda install -c conda-forge r-irkernel 加 python -m r_kernel install 这条路径,通常最省事。只有在非 conda 或多版本自定义环境下,再考虑手动安装 IRkernel 并指定 name、displayname。一旦理解了“环境一致”和“注册位置正确”这两个条件,绝大多数“装完没反应”的问题都能很快定位。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。