3
respostas

[Dúvida] from modelos.avaliacao import Avaliacao - again

Estou com o mesmo problema que o amigo. Quando estou utilizando o from modelos.avaliacao import Avaliacao, ele diz que o modulo "modelos" não existe, creio que seja porque o arquivo restaurante.py e avalicao.py estão na mesma pasta. Portanto quando tiro modelos do import e escrevo apenas "from avaliacao import Avaliacao" e rodo o arquivo restaurante.py ele executa e não aparece nada, não printa nada e fica tudo vazio no terminal.

![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

3 respostas

Olá, Leonardo! Tudo bem? Espero que sim!

Esses erros não significam que tenha algum problema no seu código, o caso em questão é que o arquivo que você está tentando executar, não faz nada por si só.

O arquivo restaurante.py contém a classe Restaurante, responsável por criar um objeto "Restaurante" e dar parar ele alguns métodos e formas de visualização. Porém, é necessário que esse objeto seja inicializado, e isso não ocorre nesse arquivo e sim no app.py, logo, você precisa executar o arquivo app.py.

Resumidamente, esses problemas só estou ocorrendo, pois, você está tentando executar um código que não funciona sozinho.

Espero ter ajudado e bons estudos!

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

Olá Armano, tudo bem? Cara, depois de um tempo procurando o erro eu percebi isso haha. Nesse caso o código restaurante.py não "chama" nenhuma função e por sí só ele não executa nada.

Mas ainda estou com uma dúvida grande em relação ao from, pois o arquivo restaurant.py está na pasta 'modelos', então teoricamente não seria necessário colocar from modelos.avaliacao, apenas from avalicao, certo? só que quando eu executo o arquivo restaurante.py com from modelos.avaliacao mesmo que o código não faça nada, ele da aquele erro de não encontrar o modulo modelos.avaliacao. Quando eu escrevo apenas from avaliacao ele executa normal o código mas não retorna nada, pois não faz nada, mas quando eu vou executar tudo pelo app.py eu preciso do from modelos.avaliacao, e funciona. Caso eu deixe apenas from avaliacao (da forma que ele não "reclama") quando executo pelo app.py o porgrama da erro. Fiquei confuso em relação a isso.

Opa, Leonardo! Como vai?

Sobre a sua dúvida, isso se dá por uma questão de nível de pasta.

Quando executamos o código do restaurante com a importação from modelos.avaliacao import Avaliacao o arquivo "restaurante.py" está esperando encontrar uma pasta chamada "modelos", no mesmo nível/ao seu lado, e que dentro dela tenha um arquivo chamado avaliacao. Como podemos ver, essa pasta envolve o arquivo "restaurante.py" e não está no mesmo nível dela, logo causa o erro que você viu.

Mas, por que ela foi importada desse jeito? Isso é necessário porque estamos usando ambos os arquivos da pasta "modelos" no arquivo "app.py", logo, é necessário passar toda a referência do caminho, para que, quando for usado no "app.py", em alguns casos, não cause problemas.

Espero ter sanado a sua dúvida!