python:从更高级别的子包导入函数

时间:2018-02-18 21:19:38

标签: python packages python-import pythonpath

我试图从更高级别的目录导入一个函数。我相信将我的脚本转换为python" package"是最好的方法:

package/
    __init__.py  # contains add function
    subpackage/
       __init__.py
       my_script.py  # where I want to import add function

让我们说我要导入的功能很简单:

def add(x, y):
    return x + y

根据python docs,我应该可以在my_script.py中执行以下操作:

from package import add

print(add(5, 6))

但我收到ModuleNotFoundError: No module named 'package'错误。我做错了什么?

1 个答案:

答案 0 :(得分:0)

您应该通过从主软件包中引用子软件包来导入子软件包。参见下面的代码:

from package.subpackage import my_script

print(my_script.add(5,6))