[pyar] [ modulos y paquetes... no los entiendo]

Facundo Batista facundobatista en gmail.com
Lun Feb 6 07:02:56 ART 2012


2012/2/5 goosfancito <goosfancito en gmail.com>:


> test
> ------ modulo1
> ---------programa1.py
>               def actividad
> ------ modulo2
> ----------programa2.py
>               def correr
>               def caminar
> -------programa3.py
>             def persona
>
>
> si estoy ejecutando programa1.py y necesito a programa2.py como utilizo
> el import?
>
> ahora si estoy en programa3.py y necesito utilizar programa1.py que a su
> vez utiliza programa2.py como uso el import?
>
> estoy haciedo las cosas mal porque cuando me funciona uno no funciona el
> otro.
>
> desde programa1.py hago esto para poder utilzar la def caminar
>
> import sys
> sys.path.append('../modulo2')
>
> from programa2 import correr
> from programa2 import caminar
>
> ------
> eso esta bien?

No.

Los tres programas, ¿forman parte del mismo sistema? Si sí, vos no
deberías estar ejecutando el programa "desde adentro" de cada módulo,
sino desde "la raiz del sistema", algo así como

pytthon modulo1/programa1

De esa manera, todos los imports son relativos a  la raiz, y desde el
programa1 harías

import modulo2.programa2

Por otro lado, si los distintos programas NO forman parte del mismo
sistema, basicamente estás queriendo acceder desde un programa a
módulos que están "mal instalados"... lo normal sería instalar
correctamente esos módulos, pero de última podés jugar con PYTHONPATH
de alguna manera.

Y sí, de última última última toquetear el sys.path de adentro de cada
código, pero es feo.

Slds.

-- 
.    Facundo

Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org/ar/



More information about the pyar mailing list