1
resposta

Erro

Eu testei todas as recomendações dadas no fórum e o erro persiste. Insira aqui a descrição dessa imagem para ajudar na acessibilidadeAqui está sem as recomendações, mas garanto que o erro sempre é o mesmo. Cheguei a fazer comparação dos diretórios, pois avancei no curso para pegar o arquivo já trabalhado (arquivo da aula dois e comparei ambos os diretórios e ambos os códigos. Vou postar o de bebida pra verem o diretório e o código, depois o item cardapio. O primeiro acima é do arquivo trabalhado em cima do que é dado na aula 1 Abaixo é o do aula 2 Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Agora só do Item cardapio lado a lado

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

Então assim, o problema não é diretório nem erro de digitação.

Alguém consegue explicar o que está acontecendo?

1 resposta

Olá Jorge, bom dia!

O erro "ImportError: cannot import name 'ItemCardapio" indica que o Python não conseguiu encontrar ou importar a classe ItemCardapio do arquivo item_cardapio.py. . O que eu faria, mas pelo prints parece okay. É:

1.Verificar a definição da classe: no arquivo item_cardapio.py e ver se classe está definida corretamente

class ItemCardapio():
    def __init__(self, nome, preco):
        self._nome = nome
        self._preco = preco

Se a classe estiver com outro nome (Itemcardapio, por exemplo), altere a importação para corresponder ao nome exato .

2.Checar o caminho de importação: no arquivo bebida.py, a importação está assim:

from modelos.cardapio.item_cardapio import ItemCardapio

. 3. Arquivo __init__.py O Python trata pastas como módulos apenas se elas contêm um arquivo __init__.py. Como você tem uma estrutura de diretórios (modelos/cardapio/item_cardapio.py), o Python precisa reconhecer modelos e cardapio como pacotes para que a importação funcione corretamente.

Sem __init__.py, pode acontecer o erro ModuleNotFoundError ou ImportError, dependendo da forma como o script está sendo executado.

  • Confirme se a pasta modelos tem um arquivo __init__.py dentro dela.
  • Confirme se a pasta cardapio também tem um __init__.py.
  • Se esses arquivos não existirem, crie arquivos vazios __init__.py nessas pastas para que o Python reconheça os diretórios como pacotes.

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

Tem outras formas de fazer sem criar os arquivos (ini.py) .

4.Teste a importação diretamente no terminal rode

python -c "from modelos.cardapio.item_cardapio import ItemCardapio; print(ItemCardapio)"

Se houver erro, ele mostrará mais detalhes sobre o problema.

.