Python库/包代码可在库外运行,但尝试在库内运行会导致导入错误

时间:2018-09-20 17:21:34

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

我具有以下项目结构:

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:没有名为“ parser”的模块。 编译CmdUtility.py可以正常工作,并且程序可以运行。

如何做到这一点,以便我可以运行这些python脚本中的任何一个而不会出现导入错误

1 个答案:

答案 0 :(得分:0)

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

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