Pipenv: проверка flake8 не уважает версию Python для проектов

Созданный на 17 дек. 2017  ·  8Комментарии  ·  Источник: pypa/pipenv

pipenv check --style похоже, запускает проверку синтаксиса в зависимости от собственной версии python вместо того, чтобы соблюдать версию python, указанную в Pipfile проектов.

Опишите свое окружение
  1. Тип ОС: Debian 9
  2. Версия Python: $ python3 -V : Python 3.5.3
  3. Версия Pipenv: $ pipenv --version : pipenv, version 9.0.1
Ожидаемый результат

Ошибок нет.

Фактический результат
/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]
Type help wanted

Самый полезный комментарий

Скорее бы убрал flake8, проверив сам.

Все 8 Комментарий

да, это далеко не идеально.

AFAIK PyFlakes полагается на сам Python, установленный для анализа кода (с ast ), и, следовательно, способен анализировать только эту точную версию Python. На самом деле нет другого пути, кроме как установить отдельную копию Flake8 внутри virtualenv проекта и использовать ее ( pipenv run flake8 . ) взамен.

Может быть, эту команду можно настроить, чтобы определить, доступен ли Flake8 в virtualenv проекта, и использовать его, если это возможно?

Скорее бы убрал flake8, проверив сам.

Так было бы даже лучше.

Было бы здорово убрать интеграцию Flake8. В дополнение к тому, что интеграция не работает должным образом, мне также довольно странно видеть, что Flake8 попадает в мои производственные среды через Pipenv.

Итак, каков был бы желаемый результат, чтобы исправить этот билет?

Следует ли полностью удалить --style или вместо этого можно использовать средство проверки синтаксиса лучше?

Поскольку он не работает должным образом, и это, похоже, не является легко решаемой проблемой, я также предпочел бы удаление, если в какой-то момент будет лучшее решение, которое может быть реализовано, если люди согласятся с ним, однако я нельзя оставлять в сломанном состоянии.

Над этим работают в # 1394.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги