2
背景:想要建立一個包的相關文件,例如相對導入一個C擴展。在__init__.py中。讓我們假設這個包叫做mypkg.sub。所以c_ext駐留在子。Python 2.7模擬相對導入
init.py分:
from __future__ import absolute_import
from . import c_ext
當我嘲笑這個擴展我在我的獅身人面像conf.py如下:
from mock import Mock
sys.modules['mypkg.sub.c_ext'] = Mock()
但是我仍然得到一個導入錯誤:
ImportError: cannot import name c_ext
有趣的是,同樣的事情對Python3(它有一個稍微不同的導入行爲)的作品。
任何提示讚賞!