Importar módulos

Chema Cortés ch3m4 en ch3m4.org
Dom Ago 1 16:12:18 CEST 2004


Mensaje citado por Toni Martínez <python en ammsoft.com>:

> Tengo claro que para importar un módulo este debe estar en el mismo
> directorio de actual y, luego, en la lista de directorios especificada por
> la variable de entorno $PYTHONPATH
>
> Pregunta:
> Puedo importar módulos que estén por ejemplo en un servidor, en un recurso
> compartido ?
> \\servername\modules\modul1.py

A parte de modificar la ruta de búsqueda (sys.path) puedes echar un vistazo a la
documentación del módulo "imp"


> Puedo importar módulos que estén en la base de datos, en una tabla llamada
> módulos donde un campo sea el nombre del módulo y otro el código?
> Debo generar el .py o puedo ejecutar el módulo desde memoria?
>
> No se si estoy liándome demasiado, pero me gustaría que las reglas de
> negocio no estuvierán instaladas en local, sinó que, para facilitar
> actualizaciones, estén en la base de datos o en el servidor. Incuso llego a
> plantearme que toda la aplicación funcione de esta forma.

Como te dice Marcos en otro mensaje, es algo similar al ZODB del zope. Ya
puestos a meter en bases de datos los módulos, casi mejor si metes directamente
en la base de datos los objetos del módulo serializados con pickle.

Marcos ya ha respondido a tu pregunta (usa 'exec'). Tan sólo añadir que con
postgres podrías definir reglas de negocio como procedimientos almacenados en
la base de datos programados con python.

> Tampoco se si a esto se le podría llamar programación cliente - servidor ya
> que en realidad el módulo sigue ejecutándose en el cliente, el servidor sólo
> lo contendría.

Más que un servidor de aplicaciones, se trataría de un servidor de datos. Se
podría sofisticar más si el servidor creara los objetos que va a usar el
cliente (servidor de objetos al estilo CORBA).




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