我正在创建一个下载并安装自己的egg插件的应用程序,但是在easy_install将其提取到位后我加载鸡蛋时遇到问题。这是它现在的工作方式:
问题是在重新启动python进程之前不会重新加载pth,这意味着必须停止并重新启动应用程序(app是一个长时间运行的进程,并且插件安装不需要重新启动)。
所以问题是如何以编程方式重新加载pth以便插件入口点发现适用于新蛋,或者以某种方式让easy_install返回它安装鸡蛋的路径,因此我可以手动(使用pkg_resources)加载新的插件?
我可以创建一个函数来尝试猜测easy_install的路径或者自己解析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()
答案 0 :(得分:4)