python - erro em exercicio

Iniciado por HDD_Man, 02 de Agosto de 2012, 21:24

tópico anterior - próximo tópico

HDD_Man

Ola pessoal!
o python esta dando esse erro:

Traceback (most recent call last):
  File "/home/vinicius/pyAgenda/dao/contato_dao.py", line 7, in <module>
    from model.contato import Contato
ImportError: No module named model.contato

observação:

model.contato se refere a uma pasta chamada model, com um arquivo dentro, chamado contato.py, que sera um modulo do programinha.

alguem sabe se esta linha tem alguma representação errada?

from model.contato import Contato


grato!

Darcamo

Para que a pasta "modulo" seja interpretada como um módulo você precisa criar um arquivo chamado "__init__.py" dentro dela. O arquivo pode ser vazio, o que importa é que ele exista. É isso que indica para o python que a pasta contendo esse arquivo é um módulo.

A linha
from model.contato import Contato
está correta, mas para funcionar você precisa estar na pasta que contém a pasta "modulo" ou adicioná-la no path do python.

HDD_Man

Ola Darcamo!

o arquivo __init__.py foi criado sim, e esta vazio

o arquivo contato.py esta ao lado do arquivo __init__.py

obrigado pela resposta!

Darcamo

Não ficou claro para mim.
Você criou o arquivo após a minha resposta e isso resolveu o problema ou a causa é outra e o problema ainda persiste?

Se o problema foi resolvido adiciona "[resolvido]" no título do tópico.

irtigor

Se não resolveu, o problema é especifico dessa tentativa? Porque ficaria mais fácil, se você mostrasse o código e a disposição dele (comando tree, do diretório pai, por ex).

HDD_Man

Citação de: Darcamo online 05 de Agosto de 2012, 20:31
Não ficou claro para mim.
Você criou o arquivo após a minha resposta e isso resolveu o problema ou a causa é outra e o problema ainda persiste?

Se o problema foi resolvido adiciona "[resolvido]" no título do tópico.

naoo!!

o arquivo __init.py__ ja havia sido criado desde o começo do exercicio!
a apostila que estou estudando mencionava ele

eu estou montando a interface grafica no momento, a hora que eu fechar tudo, acho que vai dar esso erro de novo ( ou nao)

entao, a hora que eu terminar eu posto o resultado

obrigado!