首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入子模块Python 3

导入子模块Python 3
EN

Stack Overflow用户
提问于 2018-02-02 05:51:50
回答 1查看 414关注 0票数 0

我有以下文件夹结构:

代码语言:javascript
复制
project/
    setup.py
    example/
        __init__.py
        foo.py
        tests/
            __init__.py
            test_foo.py

test_foo.py包含带有一些整数值的'a‘变量。

foo.py包含以下内容:

代码语言:javascript
复制
from tests import test_foo

def load_a():
    value = test_foo.a
    return value

setup.py包含以下内容:

代码语言:javascript
复制
from example import foo

a = foo.load_a()

print(a)

当我通过调用python setup.py来运行setup.py时,我得到了一个ModuleNotFoundError。

为什么会这样呢?我运行的是python 3.6.3。

EN

回答 1

Stack Overflow用户

发布于 2018-02-02 05:55:37

请参见https://docs.python.org/3/tutorial/modules.html中的包内引用

您还可以使用import语句的from模块import名称格式编写相对导入。这些导入使用前导圆点来指示相对导入中涉及的当前包和父包。例如,在surround模块中,您可以使用:

发自。导入回显

从..导入格式

从..filters导入均衡器

也就是说,我认为你需要,例如from .example import foo

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48572316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档