从父包导入子模块
Importing a sub-module from the parent package
我有以下包结构:
.
├── README.md
├── common
│ ├── __init__.py
│ ├── analysis
│ │ ├── __init__.py
│ │ └── base_analysis.py
│ ├── logger
│ ├── __init__.py
│ └── logger.py
└── scripts
└── test_analysis
└── run.py
我想在 base_analysis.py 中访问记录器。如果我这样做:
from ..logger import Logger
我收到这个错误:
ValueError: attempted relative import beyond top-level package
如何从父包导入子包?
注意:我是 运行 来自 scripts/test_analysis 的脚本使用:
python run.py
对调用 python run.py 脚本的以下更改修复了它;
from logger.logger import Logger
我有以下包结构:
.
├── README.md
├── common
│ ├── __init__.py
│ ├── analysis
│ │ ├── __init__.py
│ │ └── base_analysis.py
│ ├── logger
│ ├── __init__.py
│ └── logger.py
└── scripts
└── test_analysis
└── run.py
我想在 base_analysis.py 中访问记录器。如果我这样做:
from ..logger import Logger
我收到这个错误:
ValueError: attempted relative import beyond top-level package
如何从父包导入子包?
注意:我是 运行 来自 scripts/test_analysis 的脚本使用:
python run.py
对调用 python run.py 脚本的以下更改修复了它;
from logger.logger import Logger