Importação de pacotes

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Importação de pacotes

laerte.allan
Estou com um problema na hora de importar um pacote. No momento que importo o arquivo no diretorio acima aparece este erro "Attempted relative import in non-package". exemplo..
src \
 projeto \
     __init__.py
     frm_usuario.py

 sistema \
     __init__.py
     frm_princial.py

Neste exemplo o arquivo que desejo é o frm_usuario. Pois estou mexendo no arquivo frm_principal.. Utilizei o seguinte comando
from ..projeto import frm_usuario ai aparece o erro que ja foi dito anteriormente.. Se puderem me ajudar? Agradeço a atenção de todos...



Reply | Threaded
Open this post in threaded view
|

Re: Importação de pacotes

Bruno Croci
Eu tive exatamente o mesmo problema há pouco tempo atrás. O erro acontece
porque o path está dentro da subpasta, não no projeto inteiro. Para
resolver, adicione o path do projeto à variável $PYTHONPATH. Se estiver em
algum sistema unix, faça assim:

% export PYTHONPATH=/caminho/para/seu/projeto:$PYTHONPATH

Depois tente executar novamente. :)


--
*Bruno Croci*
*aka CrociDB
*
http://www.crocidb.com/
http://twitter.com/CrociDB


[As partes desta mensagem que não continham texto foram removidas]

Reply | Threaded
Open this post in threaded view
|

Re: Importação de pacotes

Rafael Sierra-2
In reply to this post by laerte.allan
2010/8/16 laerte.allan <[hidden email]>:

> Estou com um problema na hora de importar um pacote. No momento que importo o arquivo no diretorio acima aparece este erro "Attempted relative import in non-package". exemplo..
> src \
>  projeto \
>     __init__.py
>     frm_usuario.py
>
>  sistema \
>     __init__.py
>     frm_princial.py
>
> Neste exemplo o arquivo que desejo é o frm_usuario. Pois estou mexendo no arquivo frm_principal.. Utilizei o seguinte comando
> from ..projeto import frm_usuario ai aparece o erro que ja foi dito anteriormente.. Se puderem me ajudar? Agradeço a atenção de todos...
>

Laerte, eu não sei qual o codigo que vc esta usando pra fazer a
importação, mas o correto creio que seja:

from ..projeto import frm_usuario

Particularmente eu não gosto de fazer isso (importar usando ..) porque
fica parecendo PHP, eu prefiro sempre ter o meu PYTHONPATH correto e
fazer "from projeto import frm_usuario"

Mais info em: http://docs.python.org/tutorial/modules.html#intra-package-references

>
>
>
>
> ------------------------------------
>
> ,-----------------------------------------------------------.
> | Antes de enviar um e-mail para o grupo leia:              |
> | http://www.pythonbrasil.com.br/moin.cgi/AntesDePerguntar  |
> | E se você é usuário do BOL lembre-se de cadastrar o       |
> | e-mail do grupo na lista branca do seu sistema anti-spam. |
> `-----------------------------------------------------------´Links do Yahoo! Grupos
>
>
>



--
Rafael Sierra
http://blog.stiod.com
Reply | Threaded
Open this post in threaded view
|

Re: Importação de pacotes

Juca Crispim
In reply to this post by laerte.allan
Oi.

Eu faria isso sem um import relativo, colocando o seu diretório src/ no
sys.path. Aí você importaria alguma coisa do frm_usuario.py assim:
from projeto.frm_usuario import bla

Aí funciona.

Em 16 de agosto de 2010 12:30, laerte.allan <[hidden email]>escreveu:

>
>
> Estou com um problema na hora de importar um pacote. No momento que importo
> o arquivo no diretorio acima aparece este erro "Attempted relative import in
> non-package". exemplo..
> src \
> projeto \
> __init__.py
> frm_usuario.py
>
> sistema \
> __init__.py
> frm_princial.py
>
> Neste exemplo o arquivo que desejo é o frm_usuario. Pois estou mexendo no
> arquivo frm_principal.. Utilizei o seguinte comando
> from ..projeto import frm_usuario ai aparece o erro que ja foi dito
> anteriormente.. Se puderem me ajudar? Agradeço a atenção de todos...
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

,-----------------------------------------------------------.
| Antes de enviar um e-mail para o grupo leia:              |
| http://www.pythonbrasil.com.br/moin.cgi/AntesDePerguntar  |
| E se você é usuário do BOL lembre-se de cadastrar o       |
| e-mail do grupo na lista branca do seu sistema anti-spam. |
`-----------------------------------------------------------´Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/python-brasil/

<*> Para sair deste grupo, envie um e-mail para:
    [hidden email]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html