Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Erro com o import

Eu vou dar run no codigo e aparece esses erros Insira aqui a descrição dessa imagem para ajudar na acessibilidade Obs: codigo exatamente igual a aula

4 respostas
solução!

Bom dia, Willyan! Tudo bem?

Esse problema se dá por uma questão de nível de pasta.

No seu arquivo "restaurante.py" você esta fazendo a importação from avalicao import Avaliacao isso não está errado, pelo menos ao nível de pasta de "restaurante.py". Mas como importamos essa classe no arquivo "app.py" é necessário que ele tenha todo o contexto/caminho para as importações de classes.

Logo, no arquivo "restaurante.py", é necessário alterar a importação para from modelo.avaliacao import Avaliacao, assim, passando toda a referência do caminho, quando for usado no "app.py".

Espero ter ajudado e bons estudos!

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

Opa, eu fiz isso e aconteceu outro erro :c

Nao consigo descobrir oque há com o codigo, esta exatamente igual a aula...

obs: baixei o arquivo da aula pra ver se estava tudo certo e mesmo assim o errou persistiu

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

Fala Willyan!

O erro que você está enfrentando ocorre devido aos caracteres especiais e usados na propriedade ativo. Esses caracteres podem não ser suportados por algumas codificações padrão, especialmente em ambiente Windows que usam cp1252 por padrão, enquanto em outros sistemas pode funcionar normalmente porque usam UTF-8.

  1. Alternativa Sem Modificar Codificação do Sistema

    Se você prefere não alterar as configurações globais, pode modificar a string retornada pelo método ativo para usar caracteres ASCII comuns, que são suportados por praticamente qualquer codificação. Por exemplo, você pode usar '[X]' e '[ ]' em vez de e :

    class Restaurante:
        # (restante do código)
    
        @property
        def ativo(self):
            return '[X]' if self._ativo else '[ ] '
    
        # (restante do código)
    
  2. Configurar Codificação do Sistema

    import sys
    import locale
    
    # Configura a saída padrão do console para UTF-8
    sys.stdout.reconfigure(encoding='utf-8')
    sys.stderr.reconfigure(encoding='utf-8')
    
    # Verifica a codificação local
    locale.setlocale(locale.LC_ALL, '')
    locale.getpreferredencoding()
    
    from modelos.avaliacao import Avaliacao
    
    #restante do código omitido...
    

Adotando uma dessas abordagens, você deverá evitar o erro UnicodeEncodeError e garantir que seu código funcione corretamente em diferentes ambientes.

Caso tenha mais problemas estarei à disposição!

A primeira alternativa ja funcionou, muito obrigado viu meu amigo, estava ja sem saber o que fazer :D