我在Python项目的所有模块的开头使用以下内容:
import setup_loggers
setup_loggers
是一个完全相同的模块。 import
语句确保无论首先加载哪个模块,记录器都已设置好并准备就绪。
但是,由于我之后没有在文件中使用setup_loggers
模块,因此我收到了PyDev警告(一个小的黄色标记)。我收到了所有模块的警告,因此它阻止我在PyDev Package Explorer中看到其他警告。
有没有办法抑制PyDev中特定行(上面的import
行)的警告?
还有其他关于如何克服这种烦恼的想法吗?
答案 0 :(得分:26)
在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导入任何内容,就会设置好的东西。