我正在使用以下布局在Python 2.7项目中工作
package
- __init__.py
- module_one.py
- module_two.py
- module_three.py
按照惯例,我们会导入import package.module_one
之类的内容,然后调用package.module_one.do_something
到目前为止这么好。但是,仅使用此导入功能,我还可以调用package.module_two.do_something_else
,而无需导入package.module_two
。我尝试使用Python 3.5,我得到AttributeError: module 'package' has no attribute 'module_two'
。我想摆脱这种魔力,并被迫总是必须导入我使用的一切或至少得到一些警告。有没有办法做到这一点?我试过谷歌,但很难找到合适的术语来查找更多信息。添加from __future__ import absolute_import
没有效果,因此似乎没有任何关系。