referenciar modulos de una estructura especifica

Milton Galo Patricio minoztro en gmail.com
Sab Nov 12 04:47:12 CET 2005


cabe destacar que los ficheros __init__.py, no contienen nada en su interior

El 12/11/05, Milton Galo Patricio<minoztro en gmail.com> escribió:
> para que les quede mas clara, realize un ejemplo peque~o: aqui les va:
>
> liste el contenido de la carpeta principal del proyecto:
>
> minoztro en minoztro:~/Proyecto$ ls -ll
> total 12
> drwxr-xr-x  2 minoztro minoztro 4096 2005-11-11 23:48 Gui
> -rw-r--r--  1 minoztro minoztro  117 2005-11-11 22:59 __init__.pyc
> drwxr-xr-x  2 minoztro minoztro 4096 2005-11-11 23:48 Logica
>
> quiero dentro de gui importar una clase que esta definida dentro de Logica
>
> Logica contiene lo siguiente:
>
> minoztro en minoztro:~/Proyecto/Logica$ ls -l
> total 4
> -rw-r--r--  1 minoztro minoztro   0 2005-11-11 22:59 __init__.py
> -rw-r--r--  1 minoztro minoztro 160 2005-11-11 22:37 persona.py
>
> dentro de persona se declara una clase Persona
>
> ahora gui contiene lo siguiente:
>
> minoztro en minoztro:~/Proyecto/Gui$ ls
> __init__.py  principal.py
>
> y principal.py contiene lo siguiente:
>
> from Proyecto.Logica import persona
>
> if __name__=="__main__":
>         per=Persona('Hola')
>         print per.obtener_nombre()
>
> cuando interpreto el codigo esta es la salida:
> minoztro en minoztro:~/Proyecto/Gui$ python principal.py
> Traceback (most recent call last):
>   File "principal.py", line 1, in ?
>     from Proyecto.Logica import persona
> ImportError: No module named Proyecto.Logica
>
> ahora probe cambiando la directiva del from por:
>
> from Proyecto.Logica.persona import Persona
>
> y el resultado es el siguiente:
>
> minoztro en minoztro:~/Proyecto/Gui$ python principal.py
> Traceback (most recent call last):
>   File "principal.py", line 1, in ?
>     from Proyecto.Logica.persona import Persona
> ImportError: No module named Proyecto.Logica.persona
>
> y bueno finalmente probe solo referenciando al Proyecto y este fue el resultado:
>
> minoztro en minoztro:~/Proyecto/Gui$ python principal.py
> Traceback (most recent call last):
>   File "principal.py", line 1, in ?
>     from Proyecto import Logica
> ImportError: No module named Proyecto
>
>
> ahora todo funciona bien si es que fuera de la carpeta proyecto
> referencia al modulo Logica, es mas incluso dentro de Proyecto pero
> fuera de Logica igual todo funciona bien, pero el problema esta cuando
> quiero comunicarme entre modulos hermanos
>
>
> disculpen si me extendi mucho, pero realmente necesito sacar este
> problema adelante, salu2!!
>
>
>
>
> El 11/11/05, Milton Galo Patricio<minoztro en gmail.com> escribió:
> > cabe se~alar que lei la pagina
> >
> > http://glud.udistrital.edu.co/glud/Tutoriales/PythonTut/tut/node8.html#SECTION008430000000000000000
> >
> > pero no me resulta, ahi explican lo mismo que quiero hacer,
> > comunicacion entre paquetes hermanos, ayudaaa!!, salu2!!
> >
> > El 11/11/05, Milton Galo Patricio<minoztro en gmail.com> escribió:
> > > hola:
> > >
> > >    Hace tiempo ya estoy programando con el asunto de tres capas.  Esto
> > > me obligo a utilizar una estructura de carpetas dentro de mi proyecto,
> > > a continuacion se las detallo:
> > >
> > > proyecto
> > > |
> > > |-->unstable
> > > |    |
> > > |    |-->src (aca va el source)
> > > |    |    |-->GUI (Archivos glade y python)
> > > |    |    |-->RN (las reglas de negocio)
> > > |    |    |-->Server (conexion con la base de datos y sql's)
> > > |    |    |
> > >
> > > Con anterioridad habia preguntado como hacer que una carpeta
> > > funcionara como modulo y muy gentilmente me respondieron, y todo
> > > funciono bien, pero con la siguiente estructura:
> > >
> > > carpeta
> > > |-->carpeta_persona (en donde pongo la clase)
> > > |    |-->__init__.py (archivo que me permite poner a carpeta como paquete)
> > > |    |-->persona.py (clase definida por mi)
> > > |-->archivo.py (archivo que importa a carpeta de la siguiente forma:
> > > from carpeta_persona.persona import Persona)
> > >
> > > ahora como ven en la estructura que estoy usando esto no me resulta ya
> > > que dentro de la carpeta GUI tengo archivos que deben llamar a
> > > archivos que esten dentro de la Carpeta RN (me gustaria que fuera de
> > > la forma..from RN.algunaclase import algunaclase)
> > >
> > > espero que no haya sido muy enredada mi descripción, necesito vuestra
> > > ayuda ya que si no puedo hacer esto, debere modificar el path de
> > > python y no me gusta esa solución.
> > >
> > > salu2!!
> > >
> > > --
> > > Milton Inostroza Aguilera
> > >
> >
> >
> > --
> > Milton Inostroza Aguilera
> >
>
>
> --
> Milton Inostroza Aguilera
>


--
Milton Inostroza Aguilera




Más información sobre la lista de distribución Python-es