最近、人気のPythonスタイルチェッカーであるpylintのバージョンをアップグレードしました。
コード全体で弾道的になり、完全なパッケージパスを指定せずに、同じパッケージ内のモジュールをインポートする場所を指摘しました。
新しいエラーメッセージはW0403です。
W0403:相対インポート%r、%rである必要があります
パッケージディレクトリに関連するインポートが検出されたときに使用されます。
例
たとえば、私のパッケージが次のように構成されている場合:
/cake
/__init__.py
/icing.py
/sponge.py
/drink
そしてスポンジパッケージに私は書いています:
import icing
の代わりに
import cake.icing
このエラーが発生します。
すべてのPylintメッセージが同等に重要であるとは限らないことを理解しており、それらを却下することを恐れていませんが、そのような慣行が悪いアイデアと見なされる理由はわかりません。
私は誰かが落とし穴を説明できることを望んでいたので、この明らかに見せかけの警告をオフにするのではなく、コーディングスタイルを改善することができます(現在の予定です)。