如何在Python 3.11中使用flake8并遵循Python 3.9代码检查规则?
在Python 3.11中用flake8遵循Python 3.9规则检查
可以实现,虽然flake8本身没有和mypy完全一致的--python-version参数,但可以通过配置让其底层依赖的pycodestyle按照Python 3.9的规则执行检查,具体有两种常用方式:
命令行参数方式
直接在运行flake8时传递--python-version参数给底层的pycodestyle:
flake8 --python-version=3.9 your_project_directory/
这个参数会让pycodestyle启用对应Python版本的语法检查规则——比如不会允许3.10及以后才支持的语法(如match语句、海象运算符:=的特定用法),同时严格遵循3.9的代码规范要求。
配置文件方式
如果需要持久化配置,在项目根目录创建.flake8配置文件,添加以下内容:
[flake8] python-version = 3.9 # 可按需添加其他常用配置,比如行长度限制 max-line-length = 88
之后直接运行flake8就会自动应用Python 3.9的检查规则。
需要注意的是,这个配置主要控制pycodestyle的语法检查规则,如果还需要类型检查,依然可以配合mypy的--python-version=3.9参数一起使用,两者互不冲突。
内容的提问来源于stack exchange,提问作者Michal Vašut
相关产品推荐
相关产品推荐

