Solucionado (ver solução)

Importante

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!

Solucionado
(ver solução)
2
respostas

ModuleNotFoundError: No module named 'Pratica'

Então, eu fui fazer o desafio, mas quando vou fazer o console, ele não reconhece a pasta, mesmo que a função import a reconheça quando eu digitei.

O que eu faço?

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

2 respostas
solução!

Oi, Hassan! Como vai?

Vendo o erro que apareceu, o Python não está encontrando o pacote Pratica.

Isso acontece porque você está executando o arquivo MainPratica.py de dentro da própria pasta Pratica. Nesse caso, a pasta **Prática não faz parte do caminho de importação.

Você pode resolver de duas formas:

1. Executar o arquivo pela pasta que contém a pasta Prática (recomendado).

Estrutura:


Projeto/
└── Pratica/
    ├── MainPratica.py
    ├── CarroPratica.py
    ├── MotoPratica.py
    └── VeiculoPratica.py

Abra o terminal na pasta Projeto e execute:


python -m Pratica.MainPratica

Assim, os imports abaixo funcionarão corretamente:


from Pratica.CarroPratica import Carro
from Pratica.MotoPratica import Moto

2. Caso execute o MainPratica.py diretamente, utilize imports locais.

Veja este exemplo:


from CarroPratica import Carro
from MotoPratica import Moto

Codigo sem acentuacao:


from CarroPratica import Carro
from MotoPratica import Moto

carro_1 = Carro("Chevrolet", "Sonic", 4)
moto_1 = Moto("Tracker", "Offroads", False, "Casual")

print(carro_1)
print(moto_1)

Esse código importa as classes que estão na mesma pasta do arquivo principal, cria os objetos e imprime o resultado no console.

Um detalhe importante: seus arquivos possuem acentos nos nomes (como CarroPrática.py e MainPrática.py). Embora o Python permita isso em alguns casos, o recomendado é utilizar nomes sem acentos e sem caracteres especiais, por exemplo:


CarroPratica.py
MotoPratica.py
VeiculoPratica.py
MainPratica.py

Isso evita problemas de importação e melhora a compatibilidade entre sistemas operacionais. Espero ter ajudado. Conte com o apoio do Fórum na sua jornada.

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

Funcionou com o primeiro! Obrigado!