为什么在emacs org模式下禁用对此python代码块的评估?

时间:2016-12-31 13:12:00

标签: python emacs org-mode evaluation

在org-mode的python源块中,在点击C-c C-c之后,emacs说

  

禁用对python源块的评估

有人可以解释原因吗?

2 个答案:

答案 0 :(得分:8)

如果组织模式版本是> = 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

答案 1 :(得分:2)

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

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

来自文档:

  

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

     

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

     

您可以自定义此变量。

     

引入了此变量,或者更改了其默认值   Emacs的第24.1版。