2012-07-25 56 views
0

我在python中创建了一个包,它有一些可选的依赖关系。核心特性并不需要这些依赖关系,但缺乏这些依赖关系会禁用某些类的使用(它是一个提供用于存储html的字段的orm,lxml用于存储和检索该值)。显示python中缺少可选依赖项的信息显示方式

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

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

回答

1

不是。但是,如果可选的导入失败,那么你可以提供“存根”类,这将解释如果实例化的错误。

+0

谢谢。我认为在__init__中引发错误就足够了。 – zefciu 2012-07-26 09:43:09