python 子模块的绝对导入失败
python absolute import of submodule fails
我看过其他帖子,但没有找到有效的答案!
文件结构
my_package/
__init__.py -- empty
test/
__init__.py -- empty
test1.py
失败
from my_package import test
test.test1
给予
AttributeError: 'module' object has no attribute test
后续通过
from my_package.test import test1
# or
import my_package.test.test1
from my_package import test
# now this works
test.tes1
<module 'my_package.test.test1' from ...
我有
from __future__ import absolute_import
在所有文件中,并使用 python2.7
当你导入一个包(如test
)时,模块(如test1
)不会自动导入(除非你在__init__.py
中放置一些特殊代码来这样做) ).这与导入模块不同,模块的内容在模块命名空间中可用。与 Python 标准库的 xml.etree.ElementTree
模块比较:
>>> import xml
>>> xml.etree
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'etree'
>>> from xml import etree
>>> etree.ElementTree
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'ElementTree'
>>> from xml.etree import ElementTree
>>> ElementTree.ElementTree
<class 'xml.etree.ElementTree.ElementTree'>
我看过其他帖子,但没有找到有效的答案!
文件结构
my_package/
__init__.py -- empty
test/
__init__.py -- empty
test1.py
失败
from my_package import test
test.test1
给予
AttributeError: 'module' object has no attribute test
后续通过
from my_package.test import test1
# or
import my_package.test.test1
from my_package import test
# now this works
test.tes1
<module 'my_package.test.test1' from ...
我有
from __future__ import absolute_import
在所有文件中,并使用 python2.7
当你导入一个包(如test
)时,模块(如test1
)不会自动导入(除非你在__init__.py
中放置一些特殊代码来这样做) ).这与导入模块不同,模块的内容在模块命名空间中可用。与 Python 标准库的 xml.etree.ElementTree
模块比较:
>>> import xml
>>> xml.etree
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'etree'
>>> from xml import etree
>>> etree.ElementTree
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'ElementTree'
>>> from xml.etree import ElementTree
>>> ElementTree.ElementTree
<class 'xml.etree.ElementTree.ElementTree'>