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