从文件夹中呼出和导入
Import with calls out and from a folder
我做了如下架构:
parent/
main.py
tool/
__init__.py
base.py
view.py
base.py
和 view.py
托管同名的 类。
__init__.py
from .base import Base
from .view import View
view.py
from .base import Base
main.py
from tool import View
当我直接执行时main.py
它工作正常。
但是当我只执行 view.py
和 python tool/view.py
时,我得到了错误:
from .base import Base
ImportError: attempted relative import with no known parent package
因此,如果我在 view.py
中将 from .base import Base
更改为 from base import Base
,python tool/view.py
有效但 python main.py
失败:
from base import Base
ModuleNotFoundError: No module named 'base'
应该进行什么导入才能使两者都起作用?
python main.py
和
python tool/view.py
感谢您的帮助。
您的第一个导入没问题,您只需将第二个命令更改为
python -m tool.view
我做了如下架构:
parent/
main.py
tool/
__init__.py
base.py
view.py
base.py
和 view.py
托管同名的 类。
__init__.py
from .base import Base
from .view import View
view.py
from .base import Base
main.py
from tool import View
当我直接执行时
main.py
它工作正常。但是当我只执行
view.py
和python tool/view.py
时,我得到了错误:
from .base import Base
ImportError: attempted relative import with no known parent package
因此,如果我在 view.py
中将 from .base import Base
更改为 from base import Base
,python tool/view.py
有效但 python main.py
失败:
from base import Base
ModuleNotFoundError: No module named 'base'
应该进行什么导入才能使两者都起作用?
python main.py
和
python tool/view.py
感谢您的帮助。
您的第一个导入没问题,您只需将第二个命令更改为
python -m tool.view