您可以在org babel 代码块中使用ipython。
1) 在 shell 中启动 jupyter-console
2) 将json文件名从/run/user/1000/jupyter复制到源代码头中的:session参数。
一个例子:
#+BEGIN_SRC ipython :session kernel-9735.json :exports both :results raw drawer
import matplotlib.pyplot as plt
plt.style.use('seaborn-whitegrid')
import numpy as np
fig = plt.figure()
ax = plt.axes()
x = np.linspace(0, 10, 1000)
ax.plot(x, np.sin(x));
#+END_SRC
用于绘图图像输出M-x org-display-inlineimages
先决条件:
你需要将 ipython 添加到你的 org-babel:
(需要'ob-ipython)
(org-babel-do-load-languages
'org-babel-load-languages
'((python . t)
(ipython . t)))
一般来说:
(setq org-src-fontify-natively t
org-src-preserve-indentation t
org-src-tab-acts-natively t)
我发现 ipython 不再使用 readline 所以它会导致一些奇怪的格式,这是解决的:
(setq org-babel-python-command "/PATH/TO/FOO/BAR/BAZ/ipython3 --no-banner --classic --no-confirm-exit")
对于内嵌图片:
(add-hook 'org-babel-after-execute-hook 'org-display-inline-images 'append)
我建议查看scimax,它是面向科学家和工程师的 Emacs 入门工具包。
和ein,这是一种享受!