Esto probablemente tiene una respuesta obvia, pero yo soy un principiante. Tengo un "módulo" (en realidad solo un archivo con varias funciones que uso a menudo) al principio del cual importo varios otros módulos. Debido a que trabajo en muchos sistemas, sin embargo, no todos los módulos pueden cargarse en una máquina en particular. Para hacer las cosas un poco más difíciles, también cambio los nombres de los paquetes cuando los importo; por ejemplo, matplotlib se abrevia a mp.Error al manejar los módulos
Lo que me gustaría hacer es cargar solo aquellos módulos que existen en el sistema que estoy usando actualmente, y hacer un manejo de errores en los que no lo hacen. La única forma en que puedo pensar en hacerlo es adjuntando cada declaración de importación dentro de su propio bloque try, que parece bastante antipático. Si los adjunto a todos en el mismo bloque de prueba, el módulo arroja un error que impedirá que se carguen los módulos subsiguientes. ¿Alguna idea que pueda hacer que las cosas se vean más bonitas? Sería tan fácil si no quisiera cambiar sus nombres ...
el módulo "imp" debería ayudarle. Es posible que desee leer esto: http://docs.python.org/library/imp.html – mawimawi
@mawimawi: ¿Cómo? Por favor explique y expanda su comentario en una respuesta correcta? (Leí el documento y no es obvio por qué querríamos usar ese módulo más que cualquier otro método ) – smci