python - 如何在包中使用 __init__.py 文件?

标签 python python-3.x

我有一个包如下:

mypackage/
     __init__.py
     mod1.py
     mod2.py

mod1.py 中,我有一个名为 calculate() 的定义。现在我正在 __init__.py from mod1 importcalculate 中编写此代码

但是每次我编写这段代码时,我都会收到一条错误消息

unresolved import calculate.

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

最佳答案

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

from mypackage.mod1 import calculate

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

unresolved import calculate

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

关于python - 如何在包中使用 __init__.py 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45012456/

相关文章:

python - pandas,给定值列表,查找在列中具有该值的行

python - Pygame无法使用套接字

python - 如何忽略迁移但 __init_.py?

python (gspread) - 整个数据表放置在我的 Google Sheets 的一个单元格中,而不是单独的单元格中

python - 如何根据过滤条件有效地将列变为 0?

python - 使用 imaplib 库连接到电子邮件时遇到 AUTHENTICATIONFAILED 错误

python - 图像压缩后得到的灰度图像

python - 为什么非空槽不能与 int、tuple、bytes 子类一起使用?

python - 在 OSX 10.8 上为 Python 3.3 安装 numpy 时遇到问题

python - 在 pandas 中存储 bool 和 NaN 值的内存有效方法