1
resposta

Erro import avaliacao / resolvido

Estava tentando importar a avaliação e ao executar restaurante.py com from modelos.avaliacao import Avaliacao dá o erro:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

dentro do próprio restaurante.py, no entanto, como está dentro da mesma pasta vi a sugestão para ajustar para
from avaliacao import Avaliacao, que corrige o erro dentro do arquivo restaurante.py, no entanto, impossibilidade de importar no app.py desta forma, aparecendo o mesmo erro, só que agora no app.py.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Só que vi que mesmo dando erro no restaurante.py utilizando a importação from modelos.avaliacao import Avaliacao dentro de restaurante.py, o app.py passa a funcionar corretamente (mesmo com erro no restaurante.py)

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Por que essa diferença ocorre? Estava a ficar maluco, se em um dava erro e ao 'corrigir' o outro que não importava.

1 resposta

Olá, Marcelo! Tudo certo?

O que você está enfrentando é um problema comum relacionado à forma como o Python gerencia os caminhos dos módulos. Vamos tentar resolver isso.

Quando você executa um script Python, o diretório atual é adicionado ao sys.path, que é a lista de diretórios que o Python procura por módulos. Isso pode causar problemas se você estiver tentando importar módulos que estão em diretórios diferentes.

  1. Estrutura de Diretórios:

    • Certifique-se de que a estrutura de diretórios está correta. Por exemplo:
      /projeto
          /modelos
              avaliacao.py
              restaurante.py
          app.py
      
  2. Importação Relativa:

    • Se restaurante.py e avaliacao.py estão na mesma pasta, você pode usar uma importação relativa:
      from .avaliacao import Avaliacao
      
    • No app.py, que está fora da pasta modelos, use:
      from modelos.restaurante import Restaurante
      
  3. Executar o Script Corretamente:

    • Execute o app.py a partir do diretório raiz do projeto, assim:
      python app.py
      
  4. Verifique o __init__.py:

    • Se estiver usando pacotes, certifique-se de que há um arquivo __init__.py (mesmo vazio) na pasta modelos.

Essas alterações devem ajudar a resolver o problema de importação. Se o problema persistir, verifique se o caminho do seu terminal está correto e se você está executando o script a partir do diretório certo.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.