Python Pylint:放弃缓存文件状态

Python Pylint:放弃缓存文件状态,python,pylint,Python,Pylint,我使用它从PY脚本运行pylint。(我使用的pylint插件与Sublimiter类似,但没有使用Python的新进程,而是将Python嵌入到Windows程序中)。我发现,即使我更改了源文件(即修复了错误),pylint仍然会给出旧消息 例如,我在编辑器中打开了源代码,我有一个函数w/out docstring,pylint显示了这个错误。现在我添加docstring,保存文件(我不重新启动编辑器),并再次调用pylint插件——但pylint仍然给出“无docstring”错误 有没有办

我使用它从PY脚本运行pylint。(我使用的pylint插件与Sublimiter类似,但没有使用Python的新进程,而是将Python嵌入到Windows程序中)。我发现,即使我更改了源文件(即修复了错误),pylint仍然会给出旧消息

例如,我在编辑器中打开了源代码,我有一个函数w/out docstring,pylint显示了这个错误。现在我添加docstring,保存文件(我不重新启动编辑器),并再次调用pylint插件——但pylint仍然给出“无docstring”错误

有没有办法在不使用pylint插件重新启动编辑器的情况下获得实际的错误消息?告诉pylint“放弃文件缓存”的任何方法?

astroid(pylint的AST底层库)在每个模块中都有一个AST缓存。请尝试以下代码以丢弃整个缓存:

from astroid import MANAGER
MANAGER.astroid_cache.clear()
相关问题:

在具有类似问题的Windows上使用vscode中的pylint:

  • 转到C:\Users[my username].pylint.d目录
  • 删除产生问题的.stat文件
  • 重新启动vscode
  • 再次触发pylint

  • 注意:在我的例子中,我将一个文件从大写重命名为小写。然后我得到了结果

    我尝试了这个。在访问pylint之前,我从sys.modules中删除了pylint和“pylint.nnnnn”(如果存在)。这不会给出好结果,因为在第二次访问pylint api时,它给出了空结果。我的意思是从我的URL函数,如果我这样做,它会给出空的pylint输出。(这是我访问pylint api的唯一一个地方)无法打开链接