如何为python 3配置spacemacs?

kai*_*kai 15 python emacs spacemacs

我想使用spacemacs进行python开发,但是我看到Python 3构造的语法错误,比如print(*(i + 1 for i in range(n))async def foo():.将shebang添加到我的文件(#!/usr/bin/python3#!/usr/bin/env python3)没有帮助.

使用特定的python版本需要进行哪些配置更改?理想情况下,每个项目或每个文件,但全局总比没有好.我有2.7和安装的全系统3.4和3.5的~/local(~/local/bin是我$PATH).

Rob*_*ing 5

您不必更改 spacemacs 配置。你可以使用 pyenv 来管理 python 版本。

pyenv然后在终端中安装

$ pyenv install 3.5.1
$ pyenv global 3.5.1
Run Code Online (Sandbox Code Playgroud)

默认 python 解释器将设置为 python 3.5.1。

$ python --version
Python 3.5.1
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅此处

另外,设置python-shell-interpreterpython3也可以解决问题。

  • @oliver 使用 `SPC hdv` 您可以检查变量的当前值。您可以通过将此变量设置为另一个值来直接在配置中更改它。 (2认同)

kai*_*kai 5

需要设置的变量是flycheck-python-pycompile-executable,to "python3".

要获得支持async,emacs25必须使用(注意Debian的将安装emacs24emacs25并排侧,并使用emacs24默认情况下).

  • 最简单的方法是`SPC-SPC`、`customize-variable`、`flycheck-pycompile-executable`。我确定它可以在您的 dotfile 中设置,请查看 [the docs](https://github.com/syl20bnr/spacemacs/blob/master/doc/DOCUMENTATION.org)。 (2认同)