【发布时间】:2020-05-01 07:08:08
【问题描述】:
我对 Python virtualenvs 和 Emacs 还很陌生。我想尝试保留用于检查和格式化代码(flake8 和 black)的 python 包,而不是我实际代码库使用的包(例如 numpy 等)。
我的想法是创建两个独立的 virtualenvs(使用 pyenv),一个用于 Emacs 扩展所需的包,另一个用于我的其余代码。
我正在使用 Emacs 包 elpy;安装 blacken 后,black 的自动格式化立即生效。即使我在我的 project-venv 中,并且我的 emacs-venv 中安装了 black。
Flycheck 就没那么幸运了;它很难找到 flake8 可执行文件。将以下内容放入我的 Emacs 初始化文件中没有任何作用;它似乎默认为我当前 virtualenv 中的 python 可执行文件。
(setq flycheck-python-flake8-executable <PATH>)
但是,我可以通过 Emacs 交互模式获得正确的可执行文件。
M-x flycheck-set-checker-executable RET python-flake8 RET <PATH>
我检查检查器状态,它说“可以启用”,但是当我使用交互式启用命令时,它会响应“检查器可能未在此缓冲区中使用”。
【问题讨论】: