一种信息丰富的方式来显示python中缺少可选依赖项

时间:2012-07-25 08:28:42

标签: python exception import dependencies

我在python中创建一个包,它有一些可选的依赖项。核心功能不需要这些依赖项,但缺少这些依赖项将禁用某些类的使用(它是一个提供存储html字段的orm.lxml用于存储和检索值)。

显然,如果无法导入依赖项,我可能就不会创建该类。但这可能让用户感到困惑,因为他得到的“模块x没有属性y”,这不是真正的问题。

如果有人想要导入或使用一个类,那么有没有办法发出有意义的错误消息(我还在考虑创建一个__getattribute__引发错误的类)。有没有推荐的方法呢?一些有趣的方式是在一些高质量的包装中完成的?

1 个答案:

答案 0 :(得分:1)

不是真的。但是如果可选的导入失败,那么你可以提供“stub”类来解释实例化时的错误。