6
respostas

[Dúvida] Erro "No module named"

Olá, tudo bem?

Eu já fiz a importação da classe "Avaliacao" no meu projeto "restaurante.py", e fiz tudo conforme as ultimas aulas, mas estou tendo um erro nesta parte de importação.

Estou sofrendo com o erro ModuleNotFoundError: No module named 'modelos'

Eu fiz tudo certo, criando a pasta com o nome de modelos e com "avaliacao.py" e "restaurante.py" dentro dessa pasta. E "app.py" dentro da pasta do projeto, porém fora da pasta de "modelos"

from modelos.avaliacao import Avaliacao

Assim ficou a minha sintaxe, porém fica dando este erro, e não consigo executar o código.

6 respostas

Douglas, boa noite,

Manda alguns prints aqui. Visualizar vai ajudar a compreender a situação.

Abraços.

Boa noite, Nicolas.

Claro irei mandar aqui por partes, para não ficar confuso kkk

  • Aqui estão as pastas e arquivos do meu projeto para este curso: Insira aqui a descrição dessa imagem para ajudar na acessibilidade
  • Aqui está o meu código de "restaurante.py":
from modelos.avaliacao import Avaliacao

class Restaurante:
    restaurantes = []

    def __init__(self, nome, categoria):
        self._nome = nome.title()
        self._categoria = categoria.upper()
        self._ativo = False
        self._avaliacao = []
        Restaurante.restaurantes.append(self)

 # Criando uma definição para imprimir em formato de String
    def __str__(self):
       return f'{self._nome} | {self._categoria}'
    
    @classmethod
    def listar_restaurantes(cls):
        print(f'{restaurante._nome.ljust(25)} | {restaurante._categoria.ljust(25)} | {restaurante.ativo.ljust(10)}'
                f' | {len(restaurante._avaliacao)} | {restaurante.media_avaliacoes}')
        for restaurante in cls.restaurantes:
            print(f'{restaurante._nome.ljust(25)} | {restaurante._categoria.ljust(25)} | {restaurante._ativo}')
    
    @property
    def ativo(self):
        return '✅' if self.ativo else '❌'

    def alternar_estado(self):
        self._ativo = not self._ativo

    def receber_avaliacao(self, cliente, nota):
        if 0 < nota <= 5:
            avaliacao = Avaliacao(cliente, nota)
            self._avaliacao.append(avaliacao)
 
    @property        
    def media_avaliacoes(self):
        if not self._avaliacao:
            return '-'
        soma_das_notas = sum(avaliacao._nota for avaliacao in self._avaliacao)
        quantidade_de_notas = len(self._avaliacao)
        media = round(soma_das_notas / quantidade_de_notas, 1)
        return media 
    
# Dados restaurante Praça
restaurante_praca = Restaurante('Praça', 'Gourmet')
restaurante_praca.alternar_estado()
restaurante_pizza = Restaurante('Pizza Express', 'Italiana')

Restaurante.listar_restaurantes()
  • Aqui está o erro, ao eu executar o código de "restaurante.py":

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

Douglas, tudo bom??

Tenho o mesmo problema vc conseguiu encontrar solução?

Pessoal, tudo bem?

Ainda nao consegui realizar testes... Mas, notei que você está esquecendo do _ aqui:

@property
    def ativo(self):
        return '✅' if self.ativo else '❌'

Muda para conforme abaixo e faz um teste.

@property
    def ativo(self):
        return '✅' if self._ativo else '❌'

Depois vou olhar com mais calma.

Abraços.

E aí Nícolas, td certo e com você?

Pior que quando mando rodar o app.py, o código roda certinho.

Só o restaurante.py que tá dando erro!

Fala Erick beleza?

Mano primeiramente perdão pelo vacilo, eu consegui sim resolver. (Eu tinha me esquecido desse tópico)

Não lembro com precisão como eu resolvi esse problema, mas se não me engano era um problema que estava dentro do código de "avaliacao.py".

Me manda seu código via Github ou qual você preferir por favor.

Para eu conseguir te ajudar.

Novamente perdão o vacilo. :(

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software