Atualizei recentemente as versões do pylint , um popular verificador de estilo Python.
Ele ficou balístico em todo o meu código, apontando lugares onde importo módulos no mesmo pacote, sem especificar o caminho completo do pacote.
A nova mensagem de erro é W0403.
W0403: Importação relativa% r, deve ser% r
Utilizado quando uma importação relativa ao diretório do pacote é detectada.
Exemplo
Por exemplo, se meus pacotes estiverem estruturados assim:
/cake
/__init__.py
/icing.py
/sponge.py
/drink
e no pacote de esponjas eu escrevo:
import icing
ao invés de
import cake.icing
Eu vou receber esse erro.
Embora eu entenda que nem todas as mensagens da Pylint são de igual importância e não tenho medo de descartá-las, não entendo por que essa prática é considerada uma péssima idéia.
Eu esperava que alguém pudesse explicar as armadilhas, para que eu pudesse melhorar meu estilo de codificação, em vez de (como eu atualmente planejo fazer) desativar esse aviso aparentemente falso.