SublimeLinter-flake8: invalid syntax on async keyword

When I flake8 the file from the command line everything passes, but I get invalid syntax from the plugin.

I’m using pyenv, but the shims seem to be loading correctly below, since it pulls the path from the global python version.

$ pyenv global
3.5.0

Output from editor open to file lint (conftest.py)

DPI scale: 1
startup, version: 3083 linux x64 channel: stable
executable: /opt/sublime_text/sublime_text
working dir: /
packages path: /home/numberoverzero/.config/sublime-text-3/Packages
state path: /home/numberoverzero/.config/sublime-text-3/Local
zip path: /opt/sublime_text/Packages
zip path: /home/numberoverzero/.config/sublime-text-3/Installed Packages
ignored_packages: ["Vintage"]
pre session restore time: 0.10723
startup time: 0.205469
first paint time: 0.255404


<SNIP> reloading plugin spam </SNIP>


reloading plugin SublimeLinter-flake8.linter
SublimeLinter: flake8 linter loaded 
reloading plugin SublimeLinter.commands
reloading plugin SublimeLinter.sublimelinter
plugins loaded
SublimeLinter: debug mode: on 
SublimeLinter: temp directory: /tmp/SublimeLinter3-numberoverzero 
SublimeLinter: find_python(version='3', script=None, module=None) 
SublimeLinter: find_python: requested version = {'minor': None, 'major': 3} 
SublimeLinter: user shell: /bin/bash 
SublimeLinter: computed PATH using /bin/bash:
/home/numberoverzero/.pyenv/shims
/home/numberoverzero/.pyenv/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/usr/local/games
/usr/local/bin
/home/numberoverzero/bin
~/npm/bin
/home/numberoverzero/.rvm/bin

SublimeLinter: find_posix_python: python3 => /home/numberoverzero/.pyenv/shims/python3 
SublimeLinter: find_python: system python = /home/numberoverzero/.pyenv/shims/python3 
SublimeLinter: find_python: available version = {'minor': 5, 'major': 3} 
SublimeLinter: find_python: <= ('/home/numberoverzero/.pyenv/shims/python3', None, 3, 5) 
SublimeLinter: sys.path for /home/numberoverzero/.pyenv/shims/python3:
/home/numberoverzero/ws/bloop
/home/numberoverzero/.pyenv/versions/3.5.0/lib/python3.5/site-packages/arrow-0.7.0-py3.5.egg
/home/numberoverzero/.pyenv/versions/3.5.0/lib/python3.5/site-packages/jmespath-0.9.0-py3.5.egg
/home/numberoverzero/.pyenv/versions/3.5.0/lib/python3.5/site-packages/python_dateutil-2.4.2-py3.5.egg
/home/numberoverzero/.pyenv/versions/3.5.0/lib/python3.5/site-packages/six-1.10.0-py3.5.egg
/home/numberoverzero/.pyenv/versions/3.5.0/lib/python35.zip
/home/numberoverzero/.pyenv/versions/3.5.0/lib/python3.5
/home/numberoverzero/.pyenv/versions/3.5.0/lib/python3.5/plat-linux
/home/numberoverzero/.pyenv/versions/3.5.0/lib/python3.5/lib-dynload
/home/numberoverzero/.pyenv/versions/3.5.0/lib/python3.5/site-packages

SublimeLinter: flake8 imported <module 'flake8.engine' from '/home/numberoverzero/.pyenv/versions/3.5.0/lib/python3.5/site-packages/flake8/engine.py'> 
Package Control: Skipping automatic upgrade, last run at 2016-01-12 19:34:04, next run at 2016-01-12 20:34:04 or after
SublimeLinter: flake8 version: 2.5.1 
SublimeLinter: flake8: (>= 2.2.2) satisfied by 2.5.1 
SublimeLinter: flake8 activated: <builtin> 
SublimeLinter: chdir not set or invalid, using /home/numberoverzero/ws/bottom/tests 
SublimeLinter: flake8: conftest.py <builtin> 
SublimeLinter: flake8 options: {'reporter': <class 'SublimeLinter-flake8.linter.Flake8.get_report.<locals>.Report'>, 'jobs': '1', 'max_complexity': -1} 
SublimeLinter: flake8 output:
conftest.py:22:14: E901 SyntaxError: invalid syntax 

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Reactions: 5
  • Comments: 15 (5 by maintainers)

Commits related to this issue

Most upvoted comments

I have the same problem, and to my mind problem in outdated version of pyflakes, but when I install latest version of pyflakes==1.1.0 I got version conflict: pkg_resources.VersionConflict: (pyflakes 1.1.0 (/usr/local/lib/python3.5/site-packages), Requirement.parse('pyflakes<1.1,>=0.8.1')).

Any ideas?

UPD: I was wrong, I found problem… https://gitlab.com/pycqa/flake8/blob/master/setup.py#L52 So, I think that this PR can be used as temporary solution #28.

UPD2: And again no, I was fixed issue with flake8+pyflakes==1.1.0 and got error:

complexity.py:11:10: E901 SyntaxError: invalid syntax

For this code:

async def get(redis, user_ip):
    await store(redis, user_ip)

So I’m going to debug deeper…

You should set executable: 'path/to/my/flake8' in your settings. Your project settings are a good location for that.