更改Emacs中的Python解释器

17

Emacs使用较旧的Python版本(2.3)作为默认的Python模式,我是否可以告诉Emacs使用我在主目录下安装的更新版本?

顺便说一句,我正在使用Red Hat发行版,没有root特权。

5个回答

17

检查您想要调整的事物的 customize-group 是一个好习惯。只需执行:

M-x customize-group RET python RET

现在你有多个选项,其中一个应该很有趣:

Python Python Command

您可以在那里自定义并保存以供今后使用。


3
有没有一种动态切换的方法?比如我有几个使用不同解释器的Python项目。如果可以通过本地变量或其他方式将缓冲区与特定解释器相关联,那就太好了。 - mlt
1
这就是真正的答案。我只是将 python 切换为 python3,所有问题立即得到解决。同时还发现了打开 eldoc 的开关。谢谢! - PascalVKooten
终于!一直在摸索那些不起作用的setq python-python-command建议。这就是它。@sam,如果它对你有用,你应该接受答案并将其标记为已解决。 - Philippe
4
在我的另一台电脑上,我不得不找到“Python Shell Interpreter”行并将其更改。 - Philippe
这似乎在最近的Emacs版本(25?)中发生了变化,正如@Philippe所注意到的。 - scry
显示剩余2条评论

9

通过.emacs文件:

尝试将以下内容添加到您的~/.emacs文件中:

(setq python-python-command "~/your/python/bin-dir/python")

通过shell环境:

Emacs运行的python命令通常是python,因此您可以尝试简单的方法来更改您的路径:

export PATH=~/your/python/bin-dir:$PATH

将内容添加到~/.emacs.d/init.el文件中无效。当我输入“M-x run-python”时,它仍然打开旧的解释器。 - agent18
1
python-python-command是针对“loveshack python.el”的,这是旧版emacs附带的python模式。而在当前版本中,“Gallina python.el”则是默认的模式。请改用python-shell-interpreter。https://www.emacswiki.org/emacs/PythonProgrammingInEmacs#toc2 - jpkotta
上述方法在Emacs 27中对我无效。请参考此处获取更多信息。 - agent18

7

或者添加一个每个文件的变量:# -*- python-shell-interpreter: "python3" -*- - Lester Cheung

2
我知道这个问题是关于全局python解释器的,但很多人可能会在这里寻找将一个python解释器设置为每个项目的常见问题的解决方案。
假设每个项目都有一个虚拟环境,一个好的解决方案是在位于项目根目录的.dir-local.el文件中设置python解释器。
.dir-local.el示例:
 (
  (python-mode . (
                 (python-shell-interpreter . "~/my_project/venv/bin/python")
                 (flycheck-checker . python-pylint)
                 (flycheck-python-pylint-executable . "~/myproject/venv/bin/python")
                 (flycheck-pylintrc . "~/my_project/.pylintrc")
                  )
   )
  )

0

在Windows 10上,我安装了两个版本的Python:

  1. v3.5 安装在 C:\ProgramData\chocolatey\bin
  2. v3.6 安装在 C:\Program Files\Python36\

Emacs 正在使用 v3.5,但我更喜欢它使用 v3.6。因此,我通过编辑我的环境变量来进行以下更正:

  1. 开始 -> 输入 "环境变量"
  2. 选择 编辑系统环境变量 -> 环境变量...
  3. 系统变量 下,选择 Path 变量 -> 编辑... -> 新建
  4. 添加您所需的Python目录路径
  5. 点击 上移 将新的文件路径放置在其他Python目录之上。
在我的情况下,针对上述的#4和#5,我添加了C:\Program Files\Python36\(v3.6目录),然后将其移动到C:\ProgramData\chocolatey\bin(v3.5目录)之上。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接