1. ob-ipython
使用 ob-ipython
可以在 org 文档内运行代码块, 代码块内容会被发送到后台的
Jupyter
进程运行, 返回结果会被插入到 org 文档中. org 文档丰富的显示类型使得使
用 org 文档来代替 jupyter notebook 成为了一种不错的体验.
效果图
2. 安装
以下指引针对 spacemacs 用户, 其它配置的用户需要在自己的配置中添加对应的设置.
2.1. 安装 ob-ipython
在 dotspacemacs-additional-packages
中添加 ob-ipython.
SPC f e R
重新载入 spacemacs 配置或者重启 spacemacs 下载安装 ob-ipython.
2.2. 安装 jupyter
2.2.1. 手动安装 jupyter
python3 安装 jupyter
pip3 install jupyter |
2.2.2. 使用 use-package
在 dotspacemacs/user-config
中添加
(use-package use-package-ensure-system-package |
使用 use-package 的 use-package-ensure-system-package 功能, 如果系统 PATH
中没有 jupyter, 自动运行下载命令.
SPC f e R
重新载入 spacemacs 配置.
3. 配置
在 dotspacemacs/user-config
中添加
;; 设置 python 解析器路径 |
4. 使用 yasnippet
使用 yasnippet 帮助你快速的创建 ipython 代码块.
打开 org 文档, 点击菜单 YASnippet New snippet
, 粘贴以下内容, 保存.
# -*- mode: snippet -*- # name: ipython block # key: srcip # -- #+BEGIN_SRC ipython :session ${1::ipyfile ${2:$$(let ((temporary-file-directory "./")) (make-temp-file (concat (file-name-sans-extension (file-name-nondirectory buffer-file-name)) "-py") nil ".png"))} }:exports ${3:both} :results raw drawer $0 #+END_SRC |
现在你可以在 org 文档中输入关键字 srcip
然后使用 M-/
自动扩展, 然后连续按
下 TAB
自动生成类似以下的代码
#+BEGIN_SRC ipython :session :ipyfile /Users/mpwang/org/test-py9bDtND.png :exports both :results raw drawer #+END_SRC |
假设你的 org 文件名为 test.org, 如果你的代码块会生成图片, 这段代码会自动创建随
机生成的以 test 开头的文件名 test-py9bDtND.png
保存图片.
5. 显示图片及表格
设置 ipython startup 文件让 org 文档显示图片以及表格
在 ~/.ipython/profile_default/startup
中添加 ob-ipython.py 文件, 插入以下内容, 保存.
import IPython |
6. Enjoy
现在你已经可以在 org 文档代码块中使用 C-c C-c
执行 python 代码并且可以在 org
文档中漂亮地显示图片以及表格了.
Emacs Rocks!