【问题标题】:How to use __init__.py file in packages?如何在包中使用 __init__.py 文件?
【发布时间】:2020-01-04 04:43:34
【问题描述】:

我有一个包如下:

mypackage/
     __init__.py
     mod1.py
     mod2.py

mod1.py 内部,我有一个名为calculate() 的定义。现在我在__init__.py from mod1 import calculate 中编写这段代码

但是每次我写这段代码时,我都会收到一个错误提示

未解决的导入计算。

我无法理解为什么会出现此错误。

【问题讨论】:

  • 你试过from .mod1 import calculate吗?
  • 或者,from mypackage.mod1 import calculate?

标签: python python-3.x


【解决方案1】:

您应该从包根文件夹中导入您的模块,如下所示:

from mypackage.mod1 import calculate

Python 使用包名(例如在您的情况下为 mypackage)作为命名空间,它将在其中查找模块 mod1。由于您没有告诉 python namespace 它不知道在哪里寻找您的模块,因此产生了错误:

unresolved import calculate

python 文档详细解释了here。您还可以查看this SO 线程以获取有关包导入如何工作的详细说明。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-20
    • 2019-02-27
    • 2010-12-29
    • 2015-02-27
    • 1970-01-01
    相关资源
    最近更新 更多