No sé de una manera fácil. Una distribución Python (es decir, algo que se instaló, como Django 1.3) puede tener cero o más módulos Python, cero o más paquetes Python (es decir, módulos que tienen submódulos, no lo que otras herramientas llaman paquetes), cero o más scripts, cero o más archivos de información. Si instaló con pip o easy_install, los archivos de metadatos se escriben en los directorios/directorios/directorios zip de info egg, por lo que una herramienta podría recorrer estos archivos para mostrar qué módulos o paquetes se instalaron para una distribución, pero no conozco ningún herramienta que hace eso.
yolk y pip freeze solo mostrarán las distribuciones (incluso si los llaman paquetes), para saber qué versión están instaladas, y luego pueden actualizarlas o desinstalarlas.
La inspección de sys.modules solo proporciona información sobre los módulos importados durante la sesión actual de Python.
Para saber qué módulos son importables en su sistema después de instalar distribuciones, debe recurrir a la inspección cruda de paquetes de sitios y directorios similares, o escribir algún código para recorrer los archivos de metadatos de empaquetado y extraer módulos.Esto no funcionará para las distribuciones instaladas con distutils puros.
Esto es claramente imperfecto y confuso; todavía estamos trabajando en el empaque de Python.
Por cierto, ¿puedo preguntar cuál es el uso de su pregunta? Normalmente instala una distribución para hacer algo con ella, y la misma documentación que le dice qué instalar le dirá qué importar.
Ignora mi voto cercano: hay una diferencia sustancial (lee demasiado rápido) – ChristopheD
¿Has probado [Stallion] (http://pyevolve.sourceforge.net/wordpress/?p=2200)? – Tarantula