วิธีที่ถูกต้องในการแก้ไขข้อผิดพลาด ImportError นี้คืออะไร?
ฉันมีโครงสร้างไดเร็กทอรีต่อไปนี้:
/home/bodacydo
/home/bodacydo/work
/home/bodacydo/work/project
/home/bodacydo/work/project/programs
/home/bodacydo/work/project/foo
และฉันอยู่ในไดเร็กทอรี
/home/bodacydo/work/project
ตอนนี้ถ้าฉันพิมพ์
python ./programs/my_python_program.py
ฉันได้รับทันที
ImportError: No module named foo.tasks
./programs/my_python_program.pyมีบรรทัดต่อไปนี้:
from foo.tasks import my_function
ฉันไม่เข้าใจว่าทำไม python ไม่พบ./foo/tasks.pyมันอยู่ที่นั่น
ถ้าฉันทำจาก Python shell มันก็ใช้ได้:
python
>>> from foo.tasks import my_function
มันใช้ไม่ได้ถ้าฉันเรียกมันผ่านpython ./programs/my_python_program.pyสคริปต์