Pular para o conteúdo

Quando o import não resolve

Os seis motivos de um adopt falhar, em ordem de frequência — e o comando que responde cada um.

Um adopt que não resolve tem sempre uma de seis causas. Elas estão em ordem de frequência.

#SintomaCausaO que fazer
1Module not foundcaminho relativo errado — ele é relativo ao arquivo, e não ao diretório de trabalhodataforge deps mostra o que cada arquivo pede
2acha em desenvolvimento e não no CIo pacote não está no forge.toml; funcionava pelo cache localdataforge install numa pasta limpa
3import cycleA importa B, que importa Adataforge check mostra a cadeia
4o nome existe e o símbolo nãorelay não o exportaconfira o relay do outro arquivo
5instalação velha no PATHhá até três lugares: .venv/, ~/.dataforge/, o Python do sistemawhich dataforge e dataforge --version
6funciona no Mac e falha no Linuxmaiúscula no nome do arquivo — o macOS não diferenciarenomeie tudo em minúsculas

Onde a resolução mora#

Num lugar só: resolucao.py. Isso não é organização — é uma correção. A regra já esteve escrita em três lugares, e os três divergiram.

Onde estavaO que dava errado
no analisadornome.replace('.', os.sep) transformava './mod' em '//mod'795 de 795 avisos falsos num projeto de 21 mil linhas
no dataforge depsuma expressão regular que começava em [A-Za-z_], então ./vizinho nunca casava: o comando dizia “0 arquivos com imports próprios” em todo projeto
no interpretadora cópia que funcionava

Continue em Resolução e Organizar.