Pipenv: flake8 check不尊重项目python版本

创建于 2017-12-17  ·  8评论  ·  资料来源: pypa/pipenv

pipenv check --style似乎根据其自身的python版本运行语法检查,而不是尊重项目Pipfile中指定的python版本。

描述你的环境
  1. 操作系统类型:Debian 9
  2. Python版本: $ python3 -VPython 3.5.3
  3. Pipenv版本: $ pipenv --versionpipenv, 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}')

点文件

[[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版本。 实际上,除了在项目的virtualenv中安装单独的Flake8副本并使用它( pipenv run flake8 . )之外,实际上没有其他方法。

也许可以调整此命令以检测Flake8在项目的virtualenv中是否可用,并在可能的情况下使用它?

我会更倾向于删除自己检查的flake8。

那会更好。

删除Flake8集成非常好。 除了集成无法正常工作之外,我还发现看到Flake8通过Pipenv进入我的生产环境很奇怪。

那么修复此票证的期望结果是什么?

应该完全删除--style还是有更好的替代语法检查器使用?

由于它不能正常工作,而且似乎也不是一个容易解决的问题,所以我也希望删除它,如果在某个时候,如果人们对此表示同意,将会有更好的解决方案可以实施,但是,请谅解不应处于损坏状态。

这是在#1394中进行的。

此页面是否有帮助?
0 / 5 - 0 等级