Pipenv: le contrôle flake8 ne respecte pas la version python des projets

Créé le 17 déc. 2017  ·  8Commentaires  ·  Source: pypa/pipenv

pipenv check --style semble exécuter la vérification de syntaxe en fonction de sa propre version de python au lieu de respecter la version de python spécifiée dans les projets Pipfile.

Décrivez votre environnement
  1. Type de système d'exploitation: Debian 9
  2. Version Python: $ python3 -V : Python 3.5.3
  3. Version Pipenv: $ pipenv --version : pipenv, version 9.0.1
Résultat attendu

Aucune erreur.

Résultat actuel
/home/user/myenv/testfile.py:2:18: E999 SyntaxError: invalid syntax
Étapes à suivre pour répliquer

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]
Type help wanted

Commentaire le plus utile

Je serais plus apte à supprimer le flake8 en vérifiant moi-même.

Tous les 8 commentaires

oui, c'est loin d'être parfait.

AFAIK PyFlakes s'appuie sur le Python lui-même est installé pour analyser le code (avec ast ), et n'est donc capable de lint que cette version exacte de Python. Il n'y a vraiment aucun moyen de contourner cela, mais d'installer une copie Flake8 séparée dans virtualenv du projet et de l'utiliser à la place ( pipenv run flake8 . ).

Peut-être que cette commande peut être modifiée pour détecter si Flake8 est disponible dans virtualenv du projet, et l'utiliser si possible?

Je serais plus apte à supprimer le flake8 en vérifiant moi-même.

Ce serait encore mieux.

Ce serait formidable de supprimer l'intégration Flake8. En plus de l'intégration qui ne fonctionne pas tout à fait correctement, je trouve également assez étrange de voir Flake8 se retrouver dans mes environnements de production via Pipenv.

Alors, quel serait le résultat souhaité pour corriger ce ticket?

Est-ce que --style être complètement supprimé ou y a-t-il un meilleur vérificateur de syntaxe alternatif à utiliser à la place?

Comme cela ne fonctionne pas correctement et que cela ne semble pas être un problème facilement résolu, je préférerais également la suppression, si à un moment donné, il y avait une meilleure solution qui pourrait être mise en œuvre si les gens sont d'accord, cependant, je le veux ne doit pas être laissé dans un état cassé.

Ceci est en cours d'élaboration dans # 1394.

Cette page vous a été utile?
0 / 5 - 0 notes