在 Emacs 中使用 Flycheck 和 flake8 时如何在 Python 2 和 3 之间切换?
为 Emacs 安装 Flycheck 后,我安装了一个语法检查器,如flake8
.
flake8
使用安装pip install flake8
使 Flycheck 检查 Python 2 语法。
但是,使用pip3 install flake8
使 Flycheck 检查 Python 3 的语法。
如何在 Emacs 24 中的 Python 2 和 3 模式之间切换?
如果您使用虚拟环境,使用 anaconda、miniconda 或 virtualenv,那么我建议您使用pyvenv.el。它需要一点点配置,如果您需要,我可能会为您提供帮助,但通常很容易设置。我用它在不同的python版本和不同的虚拟环境之间切换。
您还应该能够在.dir-locals.el文件中简单地放置一个变量。这个文件根据你所在的目录设置 emacs 变量。如果你想根据你所在的项目或目录设置你的 python-interpetter,你可以简单地创建一个名为 .dir-locals.el 的文件包含要编辑的项目文件的文件夹。在那个文件中你应该有
((nil . ((python-shell-interpreter . "python3"))))
或者
((nil . ((python-shell-interpreter . "python"))))
然后 flycheck 应该为您切换。如果您有任何问题,请告诉我。也可以从 flycheck 的创建者那里看看这个