python python-3.x flake8

¿Cómo usar flake8 para Python 3?



python-3.x (3)

Consulte: bugs.launchpad.net/pyflakes/+bug/989203

NB: Si bien este informe de error indica algún nivel de resolución, al probar la última versión de pyflakes 0.8.1 esta falta de anotaciones de Python 3 todavía existe.

Supongo que tendrías que presentar una nueva solicitud de función a pyflakes.

Pyflakes Bugs

$ cat - > foo.py def add(x:int, y:int) -> int: return x + y ^D $ pyflakes --version 0.8.1 $ pyflakes foo.py foo.py:1:10: invalid syntax def add(x:int, y:int) -> int: ^

ACTUALIZACIÓN ( 20140514 ):

Resulta que la respuesta real a este problema es ejecutar pyflakes o flake8 en Python 3.x en lugar de Python 2.x. Que tiene sentido :)

Así que haz algo como esto:

/usr/bin/python3 -m pyflakes foo.py

Ver: http://codepad.org/9BKxSZaD

En este fragmento de código,

def add(x:int, y:int) -> int: return x + y

hay anotaciones de funciones que solo son compatibles después de Python 3.0

Cuando ejecuto flake8 para este código python:

$ flake8 7.3.py -vv checking 7.3.py def add(x: int, y: int) -> int: return x + y 7.3.py:1:11: E901 SyntaxError: invalid syntax

Recibí el error de sintaxis no válida, pero debería ser una sintaxis válida. ¿Cómo puedo usar flake8 para verificar la sintaxis que solo se admite en Python 3.x?


Tengo la respuesta en reddit ( here ):

Utiliza cualquier flake8 que esté instalado en Python en tu ruta.

por lo que necesita instalar flake8 por pip3, no pip.

en OSX para mi,

pip3 install flake8

esto funciona para mi :)


Trabajó para Mac + py2 + py3 + venv:

pip install flake8 flake8 --version 3.5.0 (mccabe: 0.6.1, pycodestyle: 2.3.1, pyflakes: 1.5.0) CPython 2.7.14 on Darwin pip3 install flake8 python3 -m flake8 --version 3.5.0 (mccabe: 0.6.1, pycodestyle: 2.3.1, pyflakes: 1.6.0) CPython 3.6.1 on Darwin python3 -m flake8 --exclude migrations --max-line-length=121