Cách chính xác để khắc phục lỗi ImportError này là gì?Cách khắc phục lỗi "ImportError: No module named ..." trong Python?
Tôi có cấu trúc thư mục sau:
/home/bodacydo
/home/bodacydo/work
/home/bodacydo/work/project
/home/bodacydo/work/project/programs
/home/bodacydo/work/project/foo
Và tôi trong thư mục
/home/bodacydo/work/project
Bây giờ nếu tôi gõ
python ./programs/my_python_program.py
tôi ngay lập tức có được
ImportError: No module named foo.tasks
Các ./programs/my_python_program.py
chứa các dòng sau:
from foo.tasks import my_function
Tôi không thể hiểu tại sao trăn sẽ không tìm thấy ./foo/tasks.py
- nó ở đó.
Nếu tôi làm điều đó từ vỏ Python, sau đó nó hoạt động:
python
>>> from foo.tasks import my_function
Nó chỉ không hoạt động nếu tôi gọi nó qua python ./programs/my_python_program.py
kịch bản.
Vì vậy, sau đó làm thế nào để có __init__.py trong thư mục gốc? Nó dường như không phục vụ mục đích gì nếu bạn chỉnh sửa sys.path hoặc pythonpath. –
@Editor: '__init __. Py' chỉ cho biết thư mục nên được coi là một gói, khi cha mẹ của nó nằm trong' sys.path' hoặc chính nó là một gói. –
Ngoài ra, hãy kiểm tra các quyền trên thư mục. Đó là vấn đề trong trường hợp của tôi. – SidJ