Python导入可以

2024-06-02 16:38:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一棵树:

package/
    subpackage1/
        __init__.py
        impl/
            __init__.py
            moduleA.py
            moduleA_test.py
    subpackage2/
        __init__.py
        impl/
            __init__.py
            moduleB.py

moduleA.py中,我有以下代码:

^{pr2}$

模块moduleA_test.py只导入moduleA并测试其功能。 在终端中,如果我在文件夹package,然后运行python,然后运行from subpackage1.impl import moduleA,它工作正常。在

但是如果我运行python submodule1/impl/moduleA_test.py(仍然在package文件夹中),代码会在我上面写的导入行中引发一个错误。我得到ImportError: No module named subpackage2.impl.moduleB。在

我也试过使用python -m submodule1.impl.moduleA_test.py但没有成功。在


Tags: 模块代码pytest功能文件夹packageinit
1条回答
网友
1楼 · 发布于 2024-06-02 16:38:58

当您编写from subpackage2.impl.moduleB import func_abc时,它会搜索与代码所在目录相同的subpackage2文件夹,即。包.子包1.impl。在

所以当你写import语句时它会搜索包.子包1.实施子包2.执行模块B它不存在,因此会产生错误。在

相关问题 更多 >