如何在组织模式下设置python环境

如何在组织模式下设置python环境,python,emacs,org-mode,Python,Emacs,Org Mode,在emacs组织模式下编写一些python代码时,如何将python环境设置为特定的环境。我使用的代码如下,但它没有工作 #+BEGIN_SRC python :python /opt/local/bin/python2.7 :results output print "python 2" #+END_SRC 您可以转到暂存缓冲区并执行(setq org babel python命令“python2”) 然后在组织文件中尝试 #+BEGIN_SRC python imp

在emacs组织模式下编写一些python代码时,如何将python环境设置为特定的环境。我使用的代码如下,但它没有工作

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

您可以转到暂存缓冲区并执行
(setq org babel python命令“python2”)

然后在组织文件中尝试

#+BEGIN_SRC python
import platform
return platform.python_version()
#+END_SRC
并且应该得到如下结果:

#+RESULTS:
: 2.7.13

如果可以,那么将其添加到init文件。

我还需要org模式从我的一个anaconda环境运行python。您可以将emacs变量pythonshellvirtualenv root设置为anaconda环境的路径。就是,

M-x自定义变量RET

pythonshellvirtualenv root RET

单击“值”菜单按钮,然后在框中键入

字符串:
/PATH/TO/VIRTUALENV

这为我解决了问题

编辑: 我没有提到上面的测试仅在Emacs25.2上进行
此外,我现在意识到该解决方案仅在会话代码块中有效。如果未指定会话,则python代码将使用默认的系统范围python安装运行

我使用anaconda来管理不同的python版本,我想指定一个python解释器。例如,我在一个版本中安装了一些软件包,如果我使用您的解决方案,在导入这些软件包时可能会出现“导入错误”。我能想到的唯一方法是激活一个python环境,然后在shell中启动emacs。谢谢你的帮助。是的,谢谢你!!!我正在努力解决这个问题,但我没有使用会话。感谢您在其中添加编辑