【问题标题】:Python importing module that imports another module导入另一个模块的 Python 导入模块
【发布时间】:2019-05-03 21:17:15
【问题描述】:

我的文档结构如下:

root
  |src
    |__init__.py
    |util.py
    |mymodule.py
  |__init__.py
  |test.py

init.py 都是空的

在 util.py 中有一系列实用函数,例如 a()、b()、c()。

在 mymodule.py 我有:

from util import a, b, c

def somefunc():
    # some stuff
    a()
    # more stuff

在 test.py 我有:

from src.mymodule import somefunc

我希望能够在 src 之外引用这些模块,但我收到错误“mymodule.py 中的错误来自 util import a, b, c, ModuleNotFoundError: No module named 'util'”

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    您需要使用模块路径导入 utils,例如:from src.util import a, b, cfrom root.src.util import a, b, c,具体取决于您计划从何处运行/导入代码,后者用于从包含根目录的文件夹运行/导入代码

    【讨论】:

    • 这取决于您从哪里调用它!如果您的目标是导入根模块,例如从包含根的文件夹中,我的建议是有效的。因此,如果您从 root 外部运行测试,它将正常导入。
    • 我的目标是从 root 中调用它,但是我尝试从包含 root 的文件夹中调用,但我仍然收到“mymodule.py 中的错误来自 util import a, b, c, ModuleNotFoundError: No名为“util”的模块”
    • 啊!我误解了,修改我的答案
    • 别担心!感谢您的帮助
    猜你喜欢
    • 2018-04-23
    • 1970-01-01
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 2014-04-30
    • 1970-01-01
    相关资源
    最近更新 更多