在 Flycheck 中使用正确的 virtualenv 和 flake8 配置

Using proper virtualenv and flake8 config with Flycheck

如何在 emacs 中使用已配置的 virtualenv 和 flake8 设置文件(setup.cfg 在项目的根目录中)进行 flycheck?

有许多用于 virtualenvs 的插件。例如,安装 pyvenv 我可以使用 pyvenv-workon 命令从 $WORKON_HOME.

select 一个 virtualenv

virtualenvwrapper and python-environment 提供类似的支持,MELPA 上均提供这三种支持。

Flycheck 有一个选项flycheck-flake8rc:

Configuration file for `python-flake8'.

如果您有每个项目的配置文件,最简单的方法可能是在每个项目的根目录中创建 .dir-locals.el 文件,将 flycheck-flake8rc 设置为适当的值,例如

((python-mode
  (flycheck-flake8rc . "/path/to/setup.cfg")))

我建议不要在您使用的任何版本控制系统中跟踪 .dir-locals.el,当然这取决于您。

我花了一些时间寻找正确的解决方案并决定实施我自己的解决方案:

flycheck-local-flake8

这是 flycheck-flake8 检查器的插件,只需使用所需 virtualenv 中的 flake8 和 python 项目根目录中的 setup.cfg。