问题域/PD-408

依赖管理与懒加载

Dependency Management & Lazy Loading

可选依赖的运行时检测和懒加载,避免强制安装所有包

子问题

1.可选依赖的运行时检测

2.友好的安装提示信息

3.重量级组件单例复用

4.按需加载减少启动时间

5.CI 层防止开发者误将可选依赖放在模块顶层

6.配置哈希中时间字段导致缓存失效

各项目的解法1 solutions

Signals

横向对比

维度MemOS
检测机制require_python_package 装饰器 + importlib 运行时检测
错误提示install_command + install_link 双字段友好提示
单例策略WeakValueDictionary + MD5(config_json) 配置驱动缓存
CI 守护AST 静态扫描顶层 import 违规,强制函数体内延迟导入
覆盖范围20+ 类使用装饰器,6 个工厂使用 singleton_factory
时间字段过滤缓存键自动排除 12 种时间字段名,避免无效缓存失效

最佳实践

1.装饰器封装 import 检测逻辑

2.提供 install_command 和 install_link

3.singleton_factory 避免重复实例化

4.AST 扫描顶层 import 作为 CI 门控

5.WeakValueDictionary 自动回收无引用实例

6.缓存键生成时过滤时间字段避免无效失效