遇到一个在python3里import时从不报错的模块,换成python2.7环境后报错:
ImportError: No module named 。。。
原因是引用的模块的初始化文件__init__.py里import的文件中又import了自己这个模块,二者之间存在隐式的相对导入(github上被人称作implicit relative import) 。是个evil的问题。
这个bug在python3中已经修复了,只是目前在python2中还会冲突。
解决办法:
在import的python文件顶部加一句:
from __ future__ import absolute_import
即可解决。