當進口動態引發異常我有一個包,像這樣的結構:的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