pipenv check --style
似乎根据其自身的python版本运行语法检查,而不是尊重项目Pipfile中指定的python版本。
$ python3 -V
: Python 3.5.3
$ 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}')
点文件
[[source]]
verify_ssl = true
url = "https://pypi.python.org/simple"
name = "pypi"
[requires]
python_version = "3.6"
[dev-packages]
[packages]
是的,这远非完美。
AFAIK PyFlakes依赖于安装了Python本身来分析代码(使用ast
),因此只能插入该确切的Python版本。 实际上,除了在项目的virtualenv中安装单独的Flake8副本并使用它( pipenv run flake8 .
)之外,实际上没有其他方法。
也许可以调整此命令以检测Flake8在项目的virtualenv中是否可用,并在可能的情况下使用它?
我会更倾向于删除自己检查的flake8。
那会更好。
删除Flake8集成非常好。 除了集成无法正常工作之外,我还发现看到Flake8通过Pipenv进入我的生产环境很奇怪。
那么修复此票证的期望结果是什么?
应该完全删除--style
还是有更好的替代语法检查器使用?
由于它不能正常工作,而且似乎也不是一个容易解决的问题,所以我也希望删除它,如果在某个时候,如果人们对此表示同意,将会有更好的解决方案可以实施,但是,请谅解不应处于损坏状态。
这是在#1394中进行的。
最有用的评论
我会更倾向于删除自己检查的flake8。