pipenv check --style
parece ejecutar la verificación de sintaxis dependiendo de su propia versión de Python en lugar de respetar la versión de Python especificada en los proyectos Pipfile.
$ python3 -V
: Python 3.5.3
$ pipenv --version
: pipenv, version 9.0.1
Sin errores.
/home/user/myenv/testfile.py:2:18: E999 SyntaxError: invalid syntax
pipenv check --style testfile.py
testfile.py
bar = 'baz'
print(f'foo {bar}')
Pipfile
[[source]]
verify_ssl = true
url = "https://pypi.python.org/simple"
name = "pypi"
[requires]
python_version = "3.6"
[dev-packages]
[packages]
sí, está lejos de ser perfecto.
AFAIK PyFlakes se basa en el propio Python que está instalado para analizar el código (con ast
) y, por lo tanto, solo es capaz de enlazar esa versión exacta de Python. Realmente no hay forma de evitar esto, pero instalar una copia separada de Flake8 dentro del virtualenv del proyecto y usarla ( pipenv run flake8 .
) en su lugar.
¿Quizás este comando se pueda modificar para detectar si Flake8 está disponible en el virtualenv del proyecto y usarlo si es posible?
Sería más apto para eliminar el flake8 comprobando yo mismo.
Sería incluso mejor.
Sería genial eliminar la integración de Flake8. Además de que la integración no funciona del todo bien, también me parece bastante extraño ver que Flake8 termina en mis entornos de producción a través de Pipenv.
Entonces, ¿cuál sería el resultado deseado para arreglar este boleto?
¿Debería eliminarse --style
por completo o hay un verificador de sintaxis alternativo mejor para usar en su lugar?
Dado que no funciona correctamente y eso no parece ser un problema que se resuelva fácilmente, también preferiría la eliminación, si en algún momento habrá una solución mejor que podría implementarse si la gente está de acuerdo, sin embargo, imo no debe dejarse en un estado roto.
Esto se está trabajando en # 1394.
Comentario más útil
Sería más apto para eliminar el flake8 comprobando yo mismo.