【发布时间】:2023-04-04 21:43:01
【问题描述】:
以下是我的 flycheck 错误如何在 emacs 上显示的示例:
Method name "createQATask" doesn't conform to
'[a-z_][a-z0-9_]{2,30}$' pattern [invalid-name]
这是我正在运行的检查器(通过 C-c ! v 检查):
Syntax checkers for buffer __manifest__.py in python-mode:
First checker to run:
python-flake8
- may enable: yes
- executable: Found at /usr/bin/python3
- configuration file: Not found
- `flake8' module: Found at "/home/devdesk4/.local/lib/python3.5/site-packages/flake8/__init__.py"
- next checkers: python-pylint, python-mypy
Checkers that may run as part of the first checker's chain:
python-pylint
- may enable: yes
- executable: Found at /usr/bin/python3
- configuration file: Found at "/home/devdesk4/.pylintrc"
- `pylint' module: Found at "/home/devdesk4/.local/lib/python3.5/site-packages/pylint/__init__.py"
- next checkers: python-mypy
Checkers that could run if selected:
python-pycompile select
- may enable: yes
- executable: Found at /usr/bin/python3
- next checkers: python-mypy
我尝试禁用 python-pylint 的配置文件,但行为仍然存在。我还尝试了一个最小的.emacs 配置,它只包含以下内容:
(setq package-archives
'(("gnu" . "http://elpa.gnu.org/packages/")
("marmalade" . "http://marmalade-repo.org/packages/")
("melpa" . "http://melpa.milkbox.net/packages/")
("melpa-stable" . "https://stable.melpa.org/packages/")))
(use-package flycheck
:ensure t
:init
(global-flycheck-mode t))
这些符号("、')是否显示不正确,或者这是我可以覆盖的某种默认飞行检查配置?
2020 年 4 月 25 日更新(可能的解决方案)
奇怪的是,我执行pip install --upgrade pylint 只是为了检查我是否真的拥有最新版本的pylint,然后它从2.3.0 升级到2.4.4,这就解决了这个问题。
但是,此解决方案与使用 https://pypi.org/project/pylint-odoo/ 冲突,因为它会将我恢复到具有那些 html 转义序列的版本 2.3.0。
当日更新
confirmed 是 Pylint 的上游 bug。
【问题讨论】:
-
由于链接可能无法使用,因此最好直接在此处包含链接内容的摘要。图像可以上传到 SO 并内联。在这种情况下,最好在代码块中键入消息。代码块是通过缩进 4 个空格来创建的。看看我是如何编辑问题的。
-
这是来自您的代码还是在 Emacs 本身中?换句话说,如果您使用
emacs -Q(无初始化文件)启动 Emacs,然后加载 Flycheck 等,您会看到这一点吗?如果是这样,请考虑使用M-x report-emacs-bug将其报告为错误或功能请求。如果没有,请一分为二,找出罪魁祸首。 -
@HackerBoss 我同意,这样更好! :) @Drew 我将如何在
emacs -Q缓冲区内启用flycheck?运行M-x然后输入flycheck时没有任何反应。 -
emacs -Q开始时没有用户配置。这是一张白纸,它尽可能接近一个共同的起点。您可以执行任何命令,例如重现问题所需的暂存缓冲区,从而为我们提供了一个最小的示例。 -
可能做任何你 init.el 做的事情。如果您不知道它是如何工作的(例如,您使用的是 spacemacs 或类似的),请将目录 flycheck 添加到
load-path和(require 'flycheck)。