lkr*_*der 6 python egg setuptools
我正在创建一个下载并安装自己的egg插件的应用程序,但是在easy_install将其提取到位后,我在加载鸡蛋时遇到问题.这是它现在的工作方式:
问题是在重新启动python进程之前不会重新加载pth,这意味着必须停止并重新启动应用程序(app是一个长时间运行的进程,并且插件安装不需要重新启动).
所以问题是如何以编程方式重新加载pth以便插件入口点发现适用于新蛋,或者以某种方式让easy_install返回它安装egg的路径,因此我可以手动(使用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()
Run Code Online (Sandbox Code Playgroud)
在浏览了一些文档后,我认为您需要做的是
pkg_resources.get_distribution(name).activate()
Run Code Online (Sandbox Code Playgroud)
其中 name 是您刚刚安装的软件包的名称。