我最近升级了流行的Python样式检查器pylint的版本。
它贯穿了我的所有代码,指出了在同一软件包中导入模块的位置,而没有指定完整的软件包路径。
新的错误消息是W0403。
W0403:相对导入%r,应为%r
当检测到相对于软件包目录的导入时使用。
例
例如,如果我的软件包的结构如下:
/cake
/__init__.py
/icing.py
/sponge.py
/drink
然后在海绵包装中写下:
import icing
代替
import cake.icing
我会收到此错误。
虽然我知道并非所有的Pylint消息都具有同等重要的地位,并且我不害怕忽略它们,但我不理解为什么这种做法被认为是一个糟糕的主意。
我希望有人可以解释这些陷阱,因此我可以改善自己的编码风格,而不是(按照我目前的计划)关闭此表面上虚假的警告。