【问题标题】:pydocstyle printing debug informationpydocstyle 打印调试信息
【发布时间】:2019-04-02 21:16:32
【问题描述】:

我刚刚使用 pip 在 windows 中安装了 pydocstyle:

python -m pip install pydocstyle

现在当我使用这样的命令运行它时:

pycodestyle "Z:/path/to/my/file.py"

它会打印出一大堆调试信息,如下所示:

LA2PC018 2019-04-02 14:08:58,726 DEBUG   | got_newline: True
LA2PC018 2019-04-02 14:08:58,726 DEBUG   | parsing definition list, current token is tk.DEDENT ()
LA2PC018 2019-04-02 14:08:58,726 DEBUG   | got_newline: False
LA2PC018 2019-04-02 14:08:58,726 DEBUG   | parsing definition list, current token is tk.NAME (_docs)
LA2PC018 2019-04-02 14:08:58,726 DEBUG   | got_newline: True
LA2PC018 2019-04-02 14:08:58,726 DEBUG   | parsing definition list, current token is tk.OP (+=)
LA2PC018 2019-04-02 14:08:58,726 DEBUG   | got_newline: False
LA2PC018 2019-04-02 14:08:58,726 DEBUG   | parsing definition list, current token is tk.STRING ('"""\n')
LA2PC018 2019-04-02 14:08:58,726 DEBUG   | got_newline: False
LA2PC018 2019-04-02 14:08:58,727 DEBUG   | parsing definition list, current token is tk.NEWLINE (
)
LA2PC018 2019-04-02 14:08:58,727 DEBUG   | got_newline: False
LA2PC018 2019-04-02 14:08:58,727 DEBUG   | parsing definition list, current token is tk.NL (
)
LA2PC018 2019-04-02 14:08:58,727 DEBUG   | got_newline: True
LA2PC018 2019-04-02 14:08:58,727 DEBUG   | parsing definition list, current token is tk.NAME (return)
LA2PC018 2019-04-02 14:08:58,729 DEBUG   | got_newline: False
LA2PC018 2019-04-02 14:08:58,729 DEBUG   | parsing definition list, current token is tk.NAME (_docs)
LA2PC018 2019-04-02 14:08:58,729 DEBUG   | got_newline: False
LA2PC018 2019-04-02 14:08:58,729 DEBUG   | parsing definition list, current token is tk.NEWLINE (
)

有没有办法抑制这种情况并获得输出?我似乎以某种方式在调试模式下运行,但我看不到这是怎么发生的。

我使用的是 3.0.0 版。

$ pydocstyle --version
3.0.0

【问题讨论】:

    标签: python docstring


    【解决方案1】:

    您有一个设置-d / --debug 选项的配置文件。 pydocstyle 将在您检查的文件的目录中查找配置文件,并在每个父目录中查找到根目录。

    listed supported filenames 中查找文件,并使用找到的第一个支持的名称:

    setup.cfg
    tox.ini
    .pydocstyle
    .pydocstyle.ini
    .pydocstylerc
    .pydocstylerc.ini
    .pep257
    

    如果该文件具有pydocstylepep257 部分,则使用它。默认情况下,搜索也在父目录中继续,结果被合并,见Inheritance

    在该过程中的某个位置找到了debug = True 配置条目,并且该设置会导致这种级别的噪音。

    要么找到那些文件和那一行来禁用它,要么使用--config 选项来指定另一个用于配置的文件。该文件可以是空的。

    如果您在定位配置文件时遇到问题,那么您可以运行pydocstyle --debug "Z:/path/to/my/file.py"(所以开始使用--debug),该工具将打印出来,对于每个目录,如果它正在查找配置文件,以及它找到了哪些文件。

    也就是说,在您的具体情况下似乎还有更多情况,pydocstyle 明确将输出处理程序配置为仅使用日志消息的 levelname 和 message 参数。您的输出还包含一个日期时间戳和一个 LA2PC018 前缀,这表明 something else 仍在添加更多日志记录配置。这表明可能正在导入一个非标准模块,该模块恰好提供了足够的匹配功能以使其仍然工作,但也为日志框架配置了额外的处理程序。

    如果您使用 python -v -m pydocstyle "Z:/path/to/my/file.py" 运行该工具,它将产生 lot 更多输出;这会添加 import ... 日志输出以及为这些导入加载的文件。梳理一下,看看是否在标准库之外,site-packages 之外而不是 _frozen_importlib* 对象被导入。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多