Pylint: 丢弃缓存文件状态

4 投票
2 回答
6906 浏览
提问于 2025-04-17 21:14

我使用这个 回答 来从PY脚本运行pylint。(我用的pylint插件类似于SublimeLinter,但没有启动新的Python进程,Python是嵌入在Windows程序里的。)我发现即使我修改了源文件,比如修复了错误,pylint仍然显示旧的错误信息。

举个例子,我在编辑器中打开源代码,发现有一个函数没有文档字符串,pylint就会报这个错误。然后我添加了文档字符串,保存了文件(我没有重启编辑器),再调用pylint插件,但pylint还是显示“没有文档字符串”的错误。

有没有办法在不重启编辑器的情况下,让pylint显示最新的错误信息?有没有办法告诉pylint“丢弃文件缓存”?

2 个回答

2

在Windows上使用vscode时遇到类似pylint的问题,可以按照以下步骤操作:

  1. 打开C:\Users[你的用户名]\.pylint.d这个文件夹
  2. 删除那些让你头疼的.stat文件
  3. 重启vscode
  4. 再次运行pylint

注意:在我的情况下,我把一个文件的名字从大写改成了小写。然后就得到了结果。

4

astroid(pylint背后的一个库,用于处理抽象语法树)会为每个模块保存一个缓存。你可以试试下面的代码来清除整个缓存:

from astroid import MANAGER
MANAGER.astroid_cache.clear()

相关问题: https://github.com/PyCQA/pylint/issues/158

撰写回答