¿Cómo easy_install egg plugin y cargarlo sin reiniciar la aplicación?

Estoy creando una aplicación que descarga e instala sus propios complementos de huevo, pero tengo un problema al cargar el huevo después de que easy_install lo extrae en su lugar. Así es como funciona ahora:

La aplicación descarga el huevo en la carpeta temporalInstala egg con setuptools.command.easy_install.main () en la carpeta ~ / .app / plugins (que se señala con una pth en dist-packages)En este punto, ~ / .apps / plugins / easy-install.pth se actualiza con la nueva ruta del huevo

El problema es que la pth no se vuelve a cargar hasta que se reinicia el proceso de Python, lo que significa que la aplicación debe detenerse y reiniciarse (la aplicación es un proceso de larga ejecución y la instalación del complemento no debe requerir un reinicio).

Entonces, la pregunta es cómo, ya sea volver a cargar el pth programáticamente para que el descubrimiento del punto de entrada del complemento funcione para el nuevo huevo, o de alguna manera hacer que easy_install devuelva la ruta en la que instaló el huevo, para que pueda cargar manualmente el nuevo complemento (con pkg_resources) ?

Podría crear una función que intente adivinar la ruta easy_install'ed o analizar la pth por mi cuenta, pero prefiero no hacerlo, si es posible.

Python 2.6, setuptools 0.6c9

Gracias aMarius Gedminas, lo que estoy haciendo ahora básicamente es:

dist = pkg_resources.get_distribution(plugin_name)
entry = dist.get_entry_info(entry_point_name, plugin_name)
plugin = entry.load()

Respuestas a la pregunta(1)

Su respuesta a la pregunta