Python模块系统导入同级子包

2024-07-01 08:04:04 发布

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

在Python中,我需要子包中的一个文件来导入同级子包。像这样:

/proj
    __init__.py
    runner_main.py
    /subpackageA
        __init__.py
        helper.py
    /subpackageB
        __init__.py
        runnerB.py

runner_main.py中,我可以很好地调用import subpackageA。 但是,调用from . import subpackageA失败并出现错误

ImportError: cannot import name 'preprocessing' from '__main__'

这不是问题,只是我想从runnerB导入helper.py。调用from .. import subpackageA失败,并出现类似错误。你知道吗

我不想将/proj放在我的系统或Python路径上;我希望它作为一个独立的包来工作。我怎样才能让这个简单的案子成功?你知道吗


Tags: 文件frompyimporthelperinitmain错误
2条回答

这取决于你在哪里运行你的代码。您可以导入助手.py来自runnerB。但如果您直接运行runnerB,它将给出与您描述的相同的错误。但是,如果从导入runnder模块的父目录中放置的任何py文件运行,它将工作。你知道吗

试试看

from subpackageA import classA, functionB, constantC

相关问题 更多 >

    热门问题