相对导入有问题

时间:2019-09-08 07:52:24

标签: python python-3.x python-import importerror

我试图了解相对进口,但是我不清楚一种情况: 我有这样的目录结构:

tests/
    subdir1/
        run.py
    subdir2/
        start.py

run.py认为:

print('in run')

start.py包含:

from ..subdir1 import run
print('succesed')

但是当我启动start.py(python3 ./subfold2/start.py)时 我收到此错误:

Traceback (most recent call last):
File "./subfold2/start.py", line 1, in <module>
    from ..subfold1 import run
ValueError: attempted relative import beyond top-level package

python版本是3.7.3 我尝试添加 init ,但我读到,python 3.3+不需要它来了解,该文件夹是包。

1 个答案:

答案 0 :(得分:1)

test.py目录下有一个文件test作为运行程序。从那里运行,一切都会正常。

每个文件夹下应有__init__.py

OR

运行

python -m package.subpackage.subsubpackage.pyscript