Hãy tưởng tượng cấu trúc thư mục này:
app/
__init__.py
sub1/
__init__.py
mod1.py
sub2/
__init__.py
mod2.py
Tôi đang viết mã mod1
và tôi cần nhập một cái gì đó từ mod2
. Tôi nên làm thế nào?
Tôi đã thử from ..sub2 import mod2
nhưng tôi nhận được "Đã nhập tương đối trong gói không".
Tôi googled xung quanh nhưng chỉ tìm thấy sys.path
hack "thao túng". Có cách nào sạch không?
Chỉnh sửa: tất cả của tôi __init__.py
hiện đang trống
Edit2: Tôi đang cố gắng để làm điều này vì sub2 chứa các lớp được chia sẻ trên các gói phụ ( sub1
, subX
, vv).
Chỉnh sửa 3: Hành vi tôi đang tìm kiếm giống như được mô tả trong PEP 366 (cảm ơn John B)