0

我在 Ubuntu 16.04 上使用 emacs 并添加了 flycheck-mode 的配置以包括下面的 python3 设置:

Emacs:如何将 flycheck 设置为 Python 3?

答案:https ://stackoverflow.com/a/55000284/719016

(custom-set-variables
 '(flycheck-python-flake8-executable "python3")
 '(flycheck-python-pycompile-executable "python3")
 '(flycheck-python-pylint-executable "python3"))

但是我的 python3 缓冲区仍然给我一个invalid syntax [E0001]错误,如下所示:

print("# My message for the stderr", file=stderr)

加载的语法检查器是 python-pylint 和 python-pycompile (由于某种原因似乎没有找到 python-flake8。

任何想法为什么?

4

1 回答 1

1

好吧,如果您按照字面意思引用的答案,那么您的配置不会被加载。答案建议将配置放入~/.emacs.c/custom.el. 那是一个错字。正确的路径是~/.emacs.d/custom.el。更正确的答案是将配置放在 . 指向的文件中custom-file。最正确的答案是永远不要手动编辑自定义文件。而是使用该customize设施。

  • 运行M-x customize-group flycheck
  • 滚动到缓冲区的底部,然后单击“Flycheck 可执行文件”。
  • 找到要更改的 python 可执行文件。(总是使用python3Python3 的东西,即使你的系统上只有Python3。以后会省去你的麻烦。)
  • 滚动到缓冲区的顶部。
  • 单击“应用并保存”。
  • 繁荣。您的设置保存在正确的 " custom.el" 文件中。

现在,加载您要使用的 Python3 文件flycheck。如果它没有按照您的预期进行,请使用C-c ! v(aka flycheck-verify-setup.) 确认个别检查器C-c ! ?(aka flycheck-describe-checker.) 检查您认为您正在设置的变量C-h vflycheck如果需要,请从 的网站上剪切并粘贴它们。

不用担心flake8的配置文件。它将按照您的预期正确级联。

最后,正如@jenesaisquois 建议的那样:

#!/usr/bin/env python3

import sys
print("# My message for the stderr", file=sys.stderr)
于 2019-08-16T14:15:08.853 回答