怎么样将python画的图片自动插入到相应org代码块下面?

我最近在用spacemacs写python。每次执行完,python画得图片都要用tkinter在单独窗口显示。我希望python出的图能够自动嵌入到相应的代码块下面。求大婶指导,先谢过。

1 个赞
  1. 传统的方法是需要加上特定的 Head 如 :result file, 并且代码最后还要 plt.savefig ,缺点是太麻烦,还要考虑储存图片的命名

  2. 使用 ob-ipython,写法就像 Ipython 一样

你嫌 Head 麻烦的话,可以自己自定义补全。

  1. Scimax 这是一个专门为科学计算而生的 Emacs 配置 实现了在 Org-mode 上自动补全 Python代码,不用每次 C-c ' 进入编辑模式,也实现了在 Org-mode 中写 Python 时语法的缩进规则,而且不用考虑如何写 Head。里面的功能非常多,最后提一点作者加入了异步功能,就是你 Org 代码块卡主了或还在运行中,也能继续使用 Emacs。 左图是在 Scimax 使用 Python, 右图是在 Spacemacs ,区别是 Scimax 输出了代码块中所有的命令,而 Spacemacs 只实现了最后一句的命令
5 个赞

万分感谢,解决我大麻烦

另外,spacemacs没法引入scimax吗??

能做到,但是太麻烦了,不过论坛里有人实现了。据他说等稳定后把这个 Layer 放到 Github 上。你可以先用第二种方法,只要安装 ob-ipython 就行了。

谢谢啦,感谢你回复的两个答案

我这几天开始尝试scimax 官网上介绍的安装方式可以让spacemacs或现有配置不受影响. 就是启动的时候要用 命令行emacs -q -l scimax/init.el

借这里问一下. 我这几天尝试scimax 但是org mode中写src代码块不能总动补全. 还是要C-c ’ 单独编辑才行. 不知道怎么开启? 要安装anaconda-mode什么吗. 我也是emacs新人. 多谢啦

2月份 有一次大更新,似乎取消了直接自动补全的功能。Scimax 用的是 Elpy ,不需要 Anaconda-mode。 论坛里有个很好的帖子,替代 ob-ipython 的方案。