【问题标题】:Suppress warnings in PyDev禁止 PyDev 中的警告
【发布时间】:2011-09-01 00:10:17
【问题描述】:

我在 Python 项目中所有模块的开头使用以下内容:

import setup_loggers

setup_loggers 正是这样的模块。 import 语句确保无论首先加载哪个模块,记录器都已设置并准备就绪。

但是,由于我在文件后面没有使用 setup_loggers 模块,因此我收到了 PyDev 警告(一个黄色的小标记)。我的所有模块都收到此警告,因此它阻止我在 PyDev 包资源管理器中看到其他警告。

有没有办法在 PyDev 中抑制特定行(上面的 import 行)的警告?
关于如何克服这种烦恼的任何其他想法?

【问题讨论】:

    标签: pydev suppress-warnings


    【解决方案1】:

    在 PyDev 中,只要一行中有错误,您可以按 Ctrl+1,它会显示一个选项来忽略该行中的警告(在这种情况下,它会添加注释:#@UnusedImport - - 您可以手动添加 - 在该行中,该错误/警告将被忽略)。

    现在,为您制定一个更好的策略(这样您就不必在任何地方都导入该模块):在 Python 中,当您导入一个包时,之前会导入父级。

    即:

    /my_project
    /my_project/__init__.py
    /my_project/submodule.py
    /my_project/package
    /my_project/package/__init__.py
    

    当您导入 my_project.submodule 或 my_project.package 时,它​​首先必须导入(并执行)/my_project/__init__.py 中的代码

    因此,对您来说更好的策略是只将该导入添加到 /my_project/__init__.py(并且无论何时导入任何子模块,记录器都已设置好)。

    如果您有一组分散在 PYTHONPATH 根目录中的文件以及您作为 __main__ 执行的文件上的文件,它就不会工作(因为它不会导入该文件,它只会得到它的内容并执行它——但只要该文件从 /my_project 导入任何内容,就会设置好)。

    【讨论】:

    • 因此,如果作为项目的一部分,我有一个“独立”模块,它不会从项目中导入任何本地内容,我应该保留 import setup_loggers 并添加您提到的评论\装饰器...这很容易。
    猜你喜欢
    • 1970-01-01
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-21
    • 2017-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多