Python được cài đặt trong một thư mục cục bộ.
Cây thư mục của tôi trông như thế này:
(local directory)/site-packages/toolkit/interface.py
Mã của tôi ở đây:
(local directory)/site-packages/toolkit/examples/mountain.py
Để chạy ví dụ, tôi viết python mountain.py
và trong mã tôi có:
from toolkit.interface import interface
Và tôi nhận được lỗi:
Traceback (most recent call last):
File "mountain.py", line 28, in ?
from toolkit.interface import interface
ImportError: No module named toolkit.interface
Tôi đã kiểm tra sys.path
và ở đó tôi có thư mục /site-packages
. Ngoài ra, tôi có tệp __init__.py.bin
trong thư mục bộ công cụ để cho Python biết đây là gói. Tôi cũng có một __init__.py.bin
trong thư mục ví dụ.
Tôi không biết tại sao Python không thể tìm thấy tệp khi nó nằm trong sys.path
. Có ý kiến gì không? Nó có thể là một vấn đề quyền? Tôi có cần một số quyền thực thi không?
755
. Đó là bởi vì umask
trên máy là 0027
do others
không có read
quyền khiến cho mô-đun không được đọc. Thêm read
quyền đã khắc phục vấn đề của tôi. Thật đáng để kiểm tra sự cho phép của thư mục đích sau khi cài đặt.
interface
(đã bị xung đột).