Pipenv: flake8 check não respeita projetos versão python

Criado em 17 dez. 2017  ·  8Comentários  ·  Fonte: pypa/pipenv

pipenv check --style parece executar a verificação de sintaxe dependendo de sua própria versão de python, em vez de respeitar a versão de python especificada no Pipfile do projeto.

Descreva o seu ambiente
  1. Tipo de sistema operacional: Debian 9
  2. Versão Python: $ python3 -V : Python 3.5.3
  3. Versão do Pipenv: $ pipenv --version : pipenv, version 9.0.1
Resultado esperado

Sem erros.

Resultado atual
/home/user/myenv/testfile.py:2:18: E999 SyntaxError: invalid syntax
Etapas para replicar

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

Comentários muito úteis

Eu estaria mais apto a remover o flake8 me verificando.

Todos 8 comentários

sim, está longe de ser perfeito.

AFAIK PyFlakes depende do próprio Python estar instalado para analisar o código (com ast ) e, portanto, só é capaz de lintar a versão exata do Python. Não há realmente nenhuma maneira de contornar isso a não ser instalar uma cópia separada do Flake8 dentro do virtualenv do projeto e usá-la ( pipenv run flake8 . ) em seu lugar.

Talvez este comando possa ser ajustado para detectar se Flake8 está disponível no virtualenv do projeto e usá-lo se possível?

Eu estaria mais apto a remover o flake8 me verificando.

Isso seria ainda melhor.

Seria ótimo remover a integração do Flake8. Além da integração não estar funcionando muito bem, também acho bastante estranho ver o Flake8 acabar nos meus ambientes de produção via Pipenv.

Então, qual seria o resultado desejado para consertar esse tíquete?

--style ser removido completamente ou existe um verificador de sintaxe alternativo melhor para usar?

Uma vez que não funciona corretamente e isso não parece ser um problema facilmente resolvido, eu também prefiro a remoção, se em algum momento houver uma solução melhor que possa ser implementada se as pessoas concordarem, no entanto, imo não deve ser deixado em um estado quebrado.

Isso está sendo trabalhado em # 1394.

Esta página foi útil?
0 / 5 - 0 avaliações