我有这样的文件夹结构,每次尝试使用相对导入时,都会出现错误
\n\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 graphics\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 A\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 grok.py\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 spam.py\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 B\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 bar.py\n\n\nspam.py/\n def func():\n pass\nbar.py/\n def f():\n pass\nRun Code Online (Sandbox Code Playgroud)\n\n所有这些代码都在 grok.py 中进行了测试:
\n\nfrom . import spam\n# ImportError: cannot import name 'spam'\n\nfrom .spam import func\n# ModuleNotFoundError: No module named '__main__.spam'; '__main__' \nis not a package\n\nfrom ..B import bar\n# ValueError: attempted relative import beyond top-level package\nRun Code Online (Sandbox Code Playgroud)\n\n以下代码均不会导致任何错误:
\n\nfrom graphics.A import spam\nfrom graphics.A.spam import func\nfrom graphics.B import bar\nfrom graphics.B.bar …Run Code Online (Sandbox Code Playgroud)