ฉันต้องการนำเข้าโฟลเดอร์ย่อยเป็นโมดูล ดังนั้นทุกโฟลเดอร์ย่อยจะมีไฟล์__init__.py
. โครงสร้างโฟลเดอร์ของฉันเป็นแบบนี้:
src\
main.py
dirFoo\
__init__.py
foofactory.py
dirFoo1\
__init__.py
foo1.py
dirFoo2\
__init__.py
foo2.py
ในสคริปต์หลักของฉันฉันนำเข้า
from dirFoo.foofactory import FooFactory
ในไฟล์โรงงานนี้ฉันรวมโมดูลย่อย:
from dirFoo1.foo1 import Foo1
from dirFoo2.foo2 import Foo2
ถ้าฉันเรียก foofactory ของฉันฉันได้รับข้อผิดพลาด python นั้นไม่สามารถนำเข้าโมดูลย่อย foo1 และ foo2:
Traceback (most recent call last):
File "/Users/tmp/src/main.py", line 1, in <module>
from dirFoo.foofactory import FooFactory
File "/Users/tmp/src/dirFoo/foofactory.py", line 1, in <module>
from dirFoo1.foo1 import Foo1
ImportError: No module named dirFoo1.foo1
__init__.py
ในทุกโฟลเดอร์ย่อยที่คุณกำลังนำเข้า