当进口动态引发异常我有一个包,像这样的结构:的Python:丢失的依赖
foo/
__init__.py
bar1.py
bar2.py
bar1
和bar2
上课Bar1
和Bar2
。我在__init__.py
插入进口类为了让
from foo import Bar1
,而不需要编写
from foo.bar1 import Bar1
好吧,这是工作的罚款,现在到了棘手的部分。当一些依赖丢失
所以我__init__.py
是这样
try:
from .bar1 import Bar1
except MissingDependency:
pass
try:
from .bar2 import Bar2
except MissingDependency:
pass
这意味着foo
作品的进口,但它不会导入Bar1
实施进口
bar1
和bar2
可引发异常MissingDependency
或Bar2
import foo
现在,我想要做的是当您尝试导入Bar1并且失败时,提升MissingDependency
。
目前发生的事情是
from foo import Bar1
...
ImportError: cannot import name Bar1
我希望它提高MissingDependency
from foo import Bar1
...
MissingDependency: "Cannot import Bar1"
编辑:我纠正一些错误搭配套餐名称
正好赶上一个' ImportError'并在'except'块中引发你自己的异常? –
所以要清楚,你想提出'进口包'没有例外? '从包导入*'怎么样? –
我希望能够做'import foo'。如果我抓到'ImportError'并引发我自己的异常,它也会导致'import foo'失败。我希望它只在'from foo import Bar1'上失败 – svituz