pythonvimsyntastic

Switch Python Version for Vim & Syntastic


Is it possible to change the python version used by syntastic for syntax checking?

As the Issue https://github.com/scrooloose/syntastic/issues/385 indicates I could use virtual-env. But is it also possible just with syntastic or vim commands?


Solution

  • The below is no longer necessary, and might screw up if you're forced to work on a strictly python 2.x script.

    The best option is to leave the Syntastic defaults alone, and to use conda to manage separate environments for python 3 and 2 (each with their own version-specific installs of flake8, pyflakes, etc), and to switch to the appropriate environment to edit each file. Syntastic will then call python/flake8/whatever else according to the paths set in the activated environment.


    From the Syntastic repository README:

    Q. The python checker complains about syntactically valid Python 3 constructs...

    A. Configure the python checker to call a Python 3 interpreter rather than Python 2, e.g:

    let g:syntastic_python_python_exec = '/path/to/python3'

    Add that line to your .vimrc - that should fix your problem.