Just like the title write, I hope Syntastic support Python 3.
Doesn't it already have support ? It uses a couple different python checkers, I would think at least one supports Python 3.
I find that syntastic shows an error with the print function (python3) but is happy with the old syntax.
Do I have to do something to tell syntastic that I am working with python3?
@phanimahesh: You tell us. :) There are two potential problems with the python checker:
@lcd047 I have a different problem.
# This is detected as a syntax error, but is valid python3
print('Just Testing',file=sys.stderr)
So my question is:
Syntastic doesn't care about python versions, it just calls a program named python, and tries to parse whatever errors that program produces. You can, of course, override it:
let g:syntastic_python_python_exe = 'python3'
Thanks. That solved my issues. :)
Note you should actually be setting g:syntastic_python_python_exec, NOT g:syntastic_python_python_exe (as per here):
let g:syntastic_python_python_exec = 'python3'
@lcd047 Indeed. Unfortunately this is the first result on Google when searching for "python3 syntastic", so it's probably worthwhile making the point explicitly.
There also seems to be a widespread confusion about it on StackOverflow. The exe thing is rarely useful outside syntastic code itself, it should probably be renamed to something else. Sadly doing so would break a few third-party checkers, and checking syntastic version is also awkward, for similar historic reasons.
Most helpful comment
Note you should actually be setting
g:syntastic_python_python_exec, NOTg:syntastic_python_python_exe(as per here):