【问题标题】:ImportError when trying to import a module from within a package尝试从包中导入模块时出现 ImportError
【发布时间】:2017-05-11 02:34:01
【问题描述】:

我正在尝试解决这个问题,但我在谷歌上找不到答案,虽然它应该相当简单......

我的项目布局目前是这样的:

project/
    main.py
    config/
        ...
    lib/
        __init__.py
        constants.py
        functions.py
        some_class.py

现在,我需要some_class.py 中的constants.py 中定义的一些常量,以及functions.py 中的一些函数。所以,很自然,我做到了:

from constants import *
from functions import *

在我的some_class.py 文件中。

我的main.py 文件看起来像这样:

from lib.some_class import Class
from lib.constants import *
from lib.functions import *

效果很好。

但每当我尝试在我的some_class.py 文件中导入常量和函数时,我都会得到一个ImportError。我尝试不导入,因为我认为这可能没有必要,因为我在包本身中,但constants.py 中定义的常量未在some_class.py 中定义。我有点迷路了……

【问题讨论】:

  • 使用与main.py中完全相同的行。

标签: python python-import


【解决方案1】:

好吧,我很笨。如果有人偶然发现同类问题,请在此处留下答案。

我应该使用from .constants import *,以便python知道它在lib包中(而不是from constants import *,点很重要)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-16
    • 2017-06-11
    • 2013-12-14
    • 2019-07-03
    • 2021-07-12
    • 2014-12-09
    • 2013-07-03
    • 1970-01-01
    相关资源
    最近更新 更多