org-mode怎么设置python的解释器?

在org-mode中写python代码时,按C-c C-c执行的时候,发现和自己环境变量中配置的python解释器的行为不一致,想问一下各位兄弟,应该怎么配置?

这个我看过,但好像并不能解决啊,而且我的意思是指比如你安装了anaconda之后有好几个python路径,你怎么在org里面指定使用哪个

(defvar org-babel-ruby-command "ruby"
  "Name of command to use for executing ruby code.")

那个 “name of command” 是可以填完整路径的…… 然后就是这整句话写进配置就不需要每次在org-mode里写elisp脚本了,那个样例你需要把每一段 src 执行过才能看见正确的结果

没怎么用过 Python,试了下 :python 可以用来设置解释器,或许有帮助:

#+BEGIN_SRC python :python /opt/local/bin/python2.7 :results output
print "python 2"
#+END_SRC

#+RESULTS:
: python 2

#+BEGIN_SRC python :python /opt/local/bin/python3.5 :results output
print ("python 3")
#+END_SRC

#+RESULTS:
: python 3
3 个赞

您好,我按照您的答案,我把anaconda设为默认python:

(defvar org-babel-python-command "python" "/opt/anaconda/bin")

没有效果。spacemacs默认的还是/usr下的python。另外,我把这条放在了user-init。还烦请指教下,谢谢。楼主如果找到解决方案,也劳驾分享下。

(defvar org-babel-python-command "在这里写完整的路径" "这个是 doc string,不管写什么都没用,不写也没关系")

而且,正确方法是

(setq org-babel-python-command "这里写路径")

放 user-config 里。

3 个赞

感谢 @LdBeth 指正。之前回答时大概没过脑子2333

完整路径应该是要包括可执行文件的,/opt/anaconda/bin 是不是路径啊? 我自己不用 anaconda,所以不太确定。

谢谢,我后来用自带python,通过pip安装自己要的包。现在该纠结要是不要换换回anaconda了。非常感谢您告诉我解决方法。