从包中导入所有模块

时间:2014-11-23 19:07:39

标签: python python-3.x

我设置了以下结构:Python 201: Creating Modules and Packages。 该链接提供mymath包。

当您运行以下代码时:

import sys
sys.path.append('G:\MyPython\Package')
import mymath
print (mymath.add(4,5))
print (mymath.division(4, 2))
print (mymath.multiply(10, 5))
print (mymath.fibonacci(8))
print (mymath.squareroot(48))

Python版本:3.4

__init__.py内容:

from add import add
from divide import division
from multiply import multiply
from subtract import subtract
from adv.fib import fibonacci
from adv.sqrt import squareroot

我的目标是致电divisionaddsubtract等,但如果我尝试拨打该模块,我会:

Traceback (most recent call last):
File "G:\MyPython\Package\myscript.py", line 1, in <module>
import mymath
File "G:\MyPython\Package\mymath\__init__.py", line 1, in <module>
from add import add
ImportError: No module named 'add'

1 个答案:

答案 0 :(得分:0)

Python 3.x改变了导入分辨率。如果要执行相对导入,现在必须指定完全相对导入。

from .add import add