Bom dia, Tudo bem?
Na hora de executar esta aparecendo o seguinte erro:
Esse é o meu código:
Revi a aula e não encontrei nenhum erro. Poderia me ajudar?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Bom dia, Tudo bem?
Na hora de executar esta aparecendo o seguinte erro:
Esse é o meu código:
Revi a aula e não encontrei nenhum erro. Poderia me ajudar?
Olá Julia, tudo bem?
Pelo erro podemos concluir que o Python não está conseguindo encontrar o módulo modelos. Isso pode ocorrer por alguns motivos, mas o principal é relacionado ao nível de pasta que você se encontra dando conflito com a organização das suas pastas.
Como não consigo identificar nenhum dos pontos que comentei nos seus prints, peço que compartilhe todo o seu projeto usando o GitHub ou envie prints do nível de pasta em que você está (abra o terminal, ele deve mostrar essa informação) e das pastas e arquivos na lateral esquerda do VS Code.
Bom dia Armano, Tudo bem sim e com você?
Segue o link do github: https://github.com/JuliaCassillo/Programa_Restaurante
Estou tentando achar o problema mas não encontro , tentei deixar sem sinalizar a pasta modelos.avaliação colocando apenas avaliacao como vi em outro tópico mas o erro continua.
Obrigada pela ajuda.
Boa tarde, Julia!
Notei alguns problemas no seu projeto, vou apresentá-los de forma separada para ficar mais fácil a identificação por sua parte.
Importação no arquivo restaurante.py: o arquivo restaurante.py é um arquivo de classe, nada mais que uma estrutura que servirá como base para a construção de um objeto, porém, ela importa a classe Avaliacao e como ela está dentro da pasta "modelos" é necessário passar o caminho completo da importação para o arquivo app.py reconheça essa importação quando criarmos um objeto Restaurante.
Basicamente nesse caso você deve modificar a importação para ficar assim:
from modelos.avaliacao import Avaliacao
Problemas de formatação no seu método da classe Restaurante: o seu método de classe listar_restaurantes apresenta alguns problemas de indentação errada. Segue o método ajustado:
@classmethod
def listar_restaurantes(cls):
print(f"{'Nome do Restaurante'.ljust(20)} | {'Categoria'.ljust(10)} | {'Avaliação'.ljust(10)} | {'Ativo'}")
for restaurante in cls.restaurantes:
print(f"{restaurante.nome.ljust(20)} | {restaurante.categoria.ljust(10)} | {str(restaurante.media_avaliacoes).ljust(10)} | {restaurante.ativo}")
Espero que agora o seu código funcione sem mais problemas!
Boa Tarde Armano !
Deu certo rodar o restaurante.py mas quando vou rodar o app.py ele mostra o erro : ModuleNotFoundError: No module named 'avaliacao' Ajustei a importação mas mesmo assim não funcionou.

Boa tarde, creio que isso se resolveria usando
from modelos.avaliacao import Avaliacao
no restaurante.py, aqui funcionou e no terminal retornou isso:

Bom dia pessoal!
O Gabriel está correto! Antes eu tinha me equivocado e colocada a importação from modelos.restaurante import Restaurante, mas é como Gabriel mostrou, deveria ser a importação from modelos.avaliacao import Avaliacao.
Confirma se deu tudo certo para você Julia!
Boa Tarde,
Quando coloco from modelos.avaliacao import Avaliacao, o erro permanece em restaurante.py, mas o programa roda corretamente. No entanto, esse erro não deveria aparecer em restaurante.py, correto?

Se eu deixar apenas from avaliacao import Avaliacao (tirando o modelo.avaliacao) o restaurante.py roda sem erro mas o app.py segue dando erro:
Como faço?
Julia alterei uma coisa no código e imagino que agora deva funcionar, adicionei um arquivo chamado init.py dentro da pasta modelos, assim:
Dessa forma, o Python passa a tratar essa pasta modelos como um pacote, e inclusive dentro do init.py não tem nada, porém ainda assim pelo que eu pesquisei ela é essencial para essa função. Com relação aos imports, no restaurante.py eu mantive o
from .avaliacao import Avaliacao
Porem utilizando from modelos.avaliacao import Avaliacao também funciona
No app.py eu mantive o
from modelos.restaurante import Restaurante
E foi basicamente isso, o codigo funcionou normal aqui
Bom dia Gabriel, Tudo bem?
Fiz do jeito que você falou mas o erro continua:
O app.py roda de forma correta mas o erro continua em restaurante.py mesmo com a criação do arquivo init.py.
Bom dia, Julia!
O arquivo restaurante.py é um arquivo de classe, então não é necessário executar ele separadamente já que ele é apenas um modelo para criar um objeto.
O fato de ele estar gerando erro quando você executa ele não significa que há algo de errado nele, é apenas a importação que busca uma pasta modelos que esteja no lado do arquivo restaurante.py, mas como não existe causa o erro. E como essa importação é feita para não haver problemas ao chamar a classe Restaurante no arquivo app.py não tem nenhum problema deixar da forma em que está.
Resumindo, o erro no restaurante.py não afeta o projeto, já que o projeto está centralizado em app.py e esse erro não ocorre nele.
Ola Armano,
Obrigada por toda a Ajuda!