How do I configure spacemacs for python 3?

kai picture kai · Dec 7, 2015 · Viewed 10.2k times · Source

I would like to use spacemacs for python development, but I see a syntax error on Python 3 constructs, like print(*(i + 1 for i in range(n)) or async def foo():. Adding a shebang to my file (#!/usr/bin/python3 or #!/usr/bin/env python3) does not help.

What configuration changes do I need to make to use a specific python version? Ideally per-project or per-file, but global is better than nothing. I have 2.7 and 3.4 installed system-wide, and 3.5 in ~/local (~/local/bin is in my $PATH).

Answer

kai picture kai · Aug 8, 2017

The variable that needed to be set was flycheck-python-pycompile-executable, to "python3".

To get support for async, emacs25 must be used (note debian will install emacs24 and emacs25 side-by-side, and use emacs24 by default).