ลองนึกภาพโครงสร้างไดเรกทอรีนี้:
app/
__init__.py
sub1/
__init__.py
mod1.py
sub2/
__init__.py
mod2.py
ฉันเข้ารหัสและผมจำเป็นต้องนำเข้าจากบางสิ่งบางอย่างmod1
mod2
ฉันควรทำอย่างไร
ฉันพยายามfrom ..sub2 import mod2
แต่ฉันได้รับ "พยายามนำเข้าที่เกี่ยวข้องในแพคเกจที่ไม่ใช่"
ฉัน googled ไปรอบ ๆ แต่พบsys.path
"แฮ็ค" การแฮ็ก ไม่มีวิธีที่สะอาดใช่มั้ย
แก้ไข: ทั้งหมดของฉัน__init__.py
ว่างเปล่าในขณะนี้
Edit2: ฉันพยายามที่จะทำเช่นนี้เพราะ sub2 มีชั้นเรียนที่จะใช้ร่วมกันในแพคเกจย่อย ( sub1
, subX
ฯลฯ )
แก้ไข 3: พฤติกรรมที่ฉันกำลังมองหาเหมือนกับที่อธิบายไว้ในPEP 366 (ขอบคุณ John B)