0

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

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

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

4

1 回答 1

1

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

于 2012-07-25T08:31:16.417 回答