使用python2.7与Emacs 24.3和python-mode.el

时间:2014-02-05 21:03:41

标签: python python-2.7 emacs emacs24

我是Emacs的新手,我正在尝试设置我的python环境。到目前为止,我已经了解到在python缓冲区C-c C-c中使用“python-mode.el”会将当前缓冲区的内容加载到交互式python shell中,显然使用which python生成的内容。在我的情况下,这是python 3.3.3。但是因为我需要得到一个python 2.7 shell,我试图让Emacs在C-c C-c上产生这样一个shell。不幸的是我无法弄明白,怎么做。将py-shell-name设置为which python2.7收益率(即/usr/bin/python2.7)不起作用。如何让Emacs执行此操作,或者如何追溯Emacs在点击C-c C-c时执行的操作?

2 个答案:

答案 0 :(得分:1)

python-mode.el,使用python2执行python缓冲区:

M-x py-execute-buffer-python2

或将其放在.emacs文件中:

(custom-set-variables
    '(py-force-py-shell-name-p t)
    '(py-shell-name "python2"))

python-mode.el在执行py-force-py-shell-name-p(绑定到py-execute-buffer键)时检查C-c C-c变量,如果此变量设置为true(“t”),则使用python解释器名称保存在py-shell-name

或者,可以在M-x customize,编程>语言> Python模式中完成此自定义,在那里搜索“Py Force Py Shell”和“Py Shell Name”行。 它会将此自定义代码添加到.emacs文件中。

Emacs帮助(描述功能):

C-h f py-execute-buffer TAB

您可以将python缓冲区中的选定区域发送给任何解释器:

C-u 3 M-x py-execute-region

Emacs每次都会提示您要使用的python解释器名称。 前缀数字参数可以是除1或4之外的任何数字,否则它将使用没有提示符的默认解释器。

要在不同的python解释器中执行缓冲区,可以按C-x h选择整个缓冲区,然后使用此前缀命令。

答案 1 :(得分:0)

我不使用python,但是从源代码到python-mode,我认为你应该考虑自定义变量python-python-command - 它似乎默认为匹配“python”的第一个路径命令;也许你可以提供自定义路径?