我设置了以下结构: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
我的目标是致电division
,add
,subtract
等,但如果我尝试拨打该模块,我会:
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'
答案 0 :(得分:0)
Python 3.x改变了导入分辨率。如果要执行相对导入,现在必须指定完全相对导入。
from .add import add