如何为 Python 2 和 Python 3 项目配置 flake8?

How to config flake8 for Python 2 and Python 3 projects?

我正在处理用 Python 2 或 Python 3 编写的多个项目。flake8 已经为 2 和 3 安装了。可以在 运行命令 shell。

例如,运行宁 flake8 在 Python 2 项目

$ python2.7 -m flake8 foo.py
$ python3.6 -m flake8 foo.py
foo.py:14:43: E999 SyntaxError: invalid syntax

我的问题是如何为不同的项目配置flake8来选择py2或py3?我已经为不同的项目创建了 .flake8 个配置文件。我的编辑是 vim + w0rp/ale.

" ===== w0rp/ale ====== "
let g:ale_linters = {
\ 'python': ['flake8', ],
\ }
let g:syntastic_python_flake8_config_file='.flake8'

您不需要配置任何东西。
你想要做的是为每个项目使用一个 virtualenv。
假设我们为 Python 3 设置了一个项目,创建一个 venv(或为此使用一个工具)

virtualenv -p python3 venv

激活它,

. ./venv/bin/activate

并安装 flake8

pip install flake8

现在只需打开 vim,您可以检查 python 和 flake8 安装 vim 正在使用

:!which flake8

ALE 就是这么用的。

你也应该删除行

let g:syntastic_python_flake8_config_file='.flake8'

Syntastic 是一个不同的插件,您不应该将它与 ALE 一起使用。