【问题标题】:Why is evaluation of this python code block disabled in emacs org mode?为什么在 emacs org 模式下禁用此 python 代码块的评估?
【发布时间】:2016-12-31 13:12:00
【问题描述】:

在一个 org-mode 的 python 源代码块中,按下 C-c C-c 后,emacs 会说

python 源代码块的评估被禁用

谁能解释一下原因?

【问题讨论】:

  • 您是否有一个最小的工作示例(即一个小的代码源块),我们都可以尝试重现您的确切问题?

标签: python emacs org-mode evaluation


【解决方案1】:

如果 org-mode 版本 >= 9,Simon 的答案是不正确的。这是关于同一问题的另一个 question

解决办法

cd .emacs.d
cd elpa
cd org-xxxx
rm *.elc

那么,最好对org-xxxx的目录进行字节重新编译。为此,请启动 emacs,然后

C-0 M-x byte-recompile-directory RET ~/emacs.d/elpa/org-xxxx

详情请见here

更新 1:EmacsWiki 编译文件。

【讨论】:

  • 您答案最后一行的链接似乎已失效。
  • @Nick 链接是github.com/syl20bnr/spacemacs/issues/7641 我刚刚检查过,它应该可以工作。顺便说一句,更具体地说,它是this_comment
  • 是的,它正在工作:昨天发生的任何事情(本地或远程)似乎都已自行修复。
【解决方案2】:

为了评估特定语言的组织模式代码块,您必须按照here 的描述自定义org-babel-load-languages。评估以下内容可能会解决您的问题:

(org-babel-do-load-languages
 'org-babel-load-languages
 '((python . t)))

来自文档:

org-babel-load-languages 是在org.el 中定义的变量。 原始值为((emacs-lisp . t))

可以在 Org 模式缓冲区中评估的语言。此列表可用于加载对以下任何语言的支持,请注意,每种语言将取决于一组不同的系统可执行文件和/或 Emacs 模式。当“加载”一种语言时,可以使用默认绑定到 C-c C-corg-babel-execute-src-block 评估该语言中的代码块(请注意,可以设置 org-babel-no-eval-on-ctrl-c-ctrl-c 变量以从 C-c C-c 键绑定中删除代码块评估。默认只加载 Emacs Lisp(没有要求)。

您可以自定义此变量。

这个变量被引入,或者它的默认值被改变了,在 Emacs 24.1 版。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-08
    相关资源
    最近更新 更多