Pipenv: flake8 check berücksichtigt nicht die Python-Version von Projekten

Erstellt am 17. Dez. 2017  ·  8Kommentare  ·  Quelle: pypa/pipenv

pipenv check --style scheint die Syntaxprüfung abhängig von der eigenen Python-Version auszuführen, anstatt die in der Projekt-Pipfile angegebene Python-Version zu berücksichtigen.

Beschreiben Sie Ihre Umgebung
  1. Betriebssystemtyp: Debian 9
  2. Python-Version: $ python3 -V : Python 3.5.3
  3. Pipenv-Version: $ pipenv --version : pipenv, version 9.0.1
Erwartetes Ergebnis

Keine Fehler.

Tatsächliche Ergebnis
/home/user/myenv/testfile.py:2:18: E999 SyntaxError: invalid syntax
Zu replizierende Schritte

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

Hilfreichster Kommentar

Ich würde eher die Flake8 entfernen und mich selbst überprüfen.

Alle 8 Kommentare

Ja, es ist alles andere als perfekt.

AFAIK PyFlakes verlässt sich darauf, dass Python selbst installiert ist, um den Code zu analysieren (mit ast ), und kann daher nur genau diese Python-Version fusseln. Daran führt kein Weg vorbei, als eine separate Flake8-Kopie in der virtuellen Umgebung des Projekts zu installieren und stattdessen ( pipenv run flake8 . ) zu verwenden.

Vielleicht kann dieser Befehl optimiert werden, um festzustellen, ob Flake8 in der virtuellen Umgebung des Projekts verfügbar ist, und wenn möglich verwenden?

Ich würde eher die Flake8 entfernen und mich selbst überprüfen.

Das wäre noch besser.

Es wäre großartig, die Flake8-Integration zu entfernen. Zusätzlich zu der Integration, die nicht ganz richtig funktioniert, finde ich es auch ziemlich seltsam, dass Flake8 über Pipenv in meinen Produktionsumgebungen landet.

Was wäre das gewünschte Ergebnis, um dieses Ticket zu reparieren?

Sollte --style komplett entfernt werden oder gibt es stattdessen eine bessere alternative Syntaxprüfung?

Da es nicht richtig funktioniert und das Problem nicht einfach zu lösen scheint, würde ich es auch vorziehen, es zu entfernen, wenn es irgendwann eine bessere Lösung gibt, die implementiert werden könnte, wenn sich die Leute darauf einigen, aber imo sollte nicht in einem kaputten Zustand gelassen werden.

Daran wird in # 1394 gearbeitet.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen