python能够容易地实现代码的动态加载,在运行时发现并加载插件可以帮助你实现应用程序的配置和扩展。使用 __import__
或者 importlib
能够实现这种功能。使用构建在 setuptools entry points基础上的 stevedore 能够避免创建另一个插件机制。管理 entry points 的代码往往都是重复的,所以stevedore 提供的管理类实现了动态加载插件通用模式。
stevedore 是openstack的一个项目,方便开发实现驱动插件的加载管理,在计算项目cloukitty上使用过。
stevedore 用户指南
加载方式
启用方式
在自己的应用上使用Stevedore,实现插件的动态管理
https://docs.openstack.org/stevedore/latest/user/index.html