【问题标题】:Python library/package code works outside library but trying to run inside library gives import errorPython 库/包代码在库外工作,但尝试在库内运行会导致导入错误
【发布时间】:2018-09-20 17:21:34
【问题描述】:

我的项目结构如下:

src
    parser
        util.py
        tool.py

    CmdUtility.py

我希望能够将 util.py 和 tool.py 作为独立脚本运行,并将 CmdUtility.py 作为独立脚本运行。但由于导入错误我不能

在 CmdUtility.py 我有:

from parser import *

在 util.py 我有:

from parser.tool import *

在 tool.py 我有:

from parser.util import *

编译 util.py 和 tool.py 不起作用,我得到导入错误 ImportError: No module named 'parser'。 编译CmdUtility.py可以正常运行。

我如何做到这一点,这样我就可以运行任何这些 python 脚本并且不会出现导入错误

【问题讨论】:

    标签: python-3.x import error-handling


    【解决方案1】:

    似乎 util.py 或 tool.py 文件中的“解析器”路径不清楚。尝试附加路径:

    from pathlib import Path
    sys.path.append(Path('[specify current directory]').parent)
    

    【讨论】:

    • 我将导入添加到 util.py 和 tool.py 中,但仍然没有工作,“ImportError: no module named 'tool'” in util.py ,当 CmdUtility.py 被编译时 - 但是工具.py 和 util.py 编译良好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-30
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 2019-01-19
    • 2022-01-21
    相关资源
    最近更新 更多