Я создаю приложение, которое загружает и устанавливает его собственные плагины яйца, но у меня есть проблема при загрузке яйца после того, как easy_install извлекает его в место. Это - то, как это работает теперь:
Проблема состоит в том, что pth не перезагружается, пока процесс Python не повторно запускается, что означает, что приложение должно быть остановлено и перезапущено (приложение является продолжительным процессом, и сменная установка не должна требовать перезапуска).
Таким образом, вопрос состоит в том, как к, или перезагрузить pth программно так, чтобы сменные работы исследования точки входа для нового яйца, или так или иначе имели возврат easy_install путь, в который это установило яйцо, таким образом, я могу вручную (с pkg_resources) загружают новый плагин?
Я мог создать функцию, которая пытается предположить, что easy_install'ed соединяют каналом или анализируют pth самостоятельно, но я предпочитаю не, если вообще возможный.
Python 2.6, setuptools 0.6c9
Благодаря Marius Gedminas, что я делаю теперь в основном:
dist = pkg_resources.get_distribution(plugin_name)
entry = dist.get_entry_info(entry_point_name, plugin_name)
plugin = entry.load()
После некоторого просмотра документации я думаю вам нужно сделать
pkg_resources.get_distribution(name).activate()
, где имя - это имя только что установленного пакета.