Emacs Jupyter 教程
项目介绍
Emacs Jupyter 是一个开源项目,它旨在提供一个强大的接口,让Emacs用户能够与Jupyter内核进行交互。这个扩展允许在Emacs环境中利用Jupyter的功能,包括通过REPL进行交互式编程、在Org模式源代码块中执行代码,并且支持多种编程语言。它集成了Emacs的强大特性,如帮助系统、完成提示、历史浏览等,与Jupyter的丰富输出(如图像、LaTeX、HTML)无缝对接。
项目快速启动
安装前提
确保你的Emacs版本支持模块,并已安装了必要的依赖包。你需要安装emacs-zmq
,因为Emacs Jupyter依赖于此包。此外,可能还需要markdown-mode
, company-mode
, emacs-websocket
, simple-httpd
, 和 zmq
。
安装步骤
-
使用MELPA安装(推荐)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) (refresh-package-archive) (package-install 'jupyter)
-
手动安装 如果选择手动安装,需要克隆仓库并添加到Emacs的
load-path
。git clone https://github.com/emacs-jupyter/jupyter.git (add-to-list 'load-path "/your/path/to/jupyter") (require 'jupyter)
-
实验性功能:构建Widget支持 若要使用与Jupyter Widgets的有限交互,需先安装Node.js,然后在项目根目录运行:
make widgets
启动与连接Jupyter
-
启动新的本地内核
M-x jupyter-run-repl
-
连接现有内核 需要内核的连接文件路径。
M-x jupyter-connect-repl
应用案例和最佳实践
- 在Emacs中使用Jupyter REPL:通过上述命令启动后,可以直接在Emacs中与内核交互,享受语法高亮、代码补全等功能。
- ** Org模式中的源代码块执行**:在Org模式下,可以定义Jupyter源代码块,使用
C-c C-c
执行代码,结果将被嵌入文档中。 - 代码完成:在REPL或与之关联的缓冲区中,M-x启用
jupyter-repl-associate-buffer
,即可获得符号自动完成。
典型生态项目
Emacs Jupyter并非孤立存在,其与其他工具和项目协同工作,共同增强Emacs作为数据科学和编程平台的能力:
- Ob-ipython: 提供与Emacs Jupyter类似但专为org-babel设计的IPython集成。
- Emacs-ipython-notebook (Ein): 一个更全面的解决方案,提供了几乎完整的Jupyter笔记本界面,特别适合Python开发。
这些生态项目展示了Emacs用户可以根据自己的需求选择合适的工具来整合Jupyter能力,无论是简单地在Emacs里运行代码还是需要一个完整的笔记本体验。
通过以上步骤,你可以轻松地在Emacs环境下配置和使用Jupyter,充分利用Emacs的高级编辑功能与Jupyter的交互计算优势。记得实验性特性可能需要额外设置,并且保持Emacs及其相关插件的更新以获得最佳体验。