Tôi đã kiểm tra càng nhiều trang SO càng tốt và đã thử mọi thứ tôi đã tìm thấy, nhưng không có trang nào thành công. Tôi cũng đã kiểm tra trang PEP liên quan đến việc nhập và thử mọi ví dụ, không có ví dụ nào trong số đó hoạt động.Cách nhập mô-đun từ thư mục bên cạnh thư mục hiện tại?
Tôi có một thư mục kiểm tra với các bài kiểm tra đơn vị trong đó và tôi cần nhập mô-đun mà tôi muốn kiểm tra. Các mô-đun nằm trong một thư mục có tên 'src' nằm bên cạnh thư mục src.
Các thư mục/tập tin giống như thế này:
Project/
src/
stringbuilder.py
__init__.py
tests/
stringbuilder_test.py
__init__.py
main.py
__init__.py
Tôi đã thử tất cả mọi thứ tôi có thể: thêm __init__.py
cho mọi thư mục làm cho nó một module bao gồm cả thư mục chính của dự án.
import src.module_to_test
from ..src.module_to_test import function_to_test
from ..src import module_to_test
Tôi đã kiểm tra tất cả các kết hợp khác tất cả đều không thành công. Tôi bắt đầu nghĩ rằng phải có điều gì đó sai trái với thiết lập hoặc sự hiểu biết của tôi-- Tôi nghĩ điều này được cho là đơn giản.
Nếu tôi đang mắc lỗi rõ ràng, vui lòng cho tôi biết.
from tests import stringbuilder
Thông báo lỗi:
$ ./stringbuilder_test.py
Traceback (most recent call last):
File "./stringbuilder_test.py", line 14, in <module>
from tests import stringbuilder
ImportError: No module named tests
Các lỗi tương tự xảy ra cho (nhưng các xét nghiệm = src):
from src import stringbuilder
"src" hoặc "kiểm tra"? Bạn có thể cung cấp cho chúng tôi thêm chi tiết về phân cấp tệp và thư mục của bạn không? – Nicolas
Đã thêm một chút vào bài đăng để thử hiển thị thứ bậc. –
'từ kiểm tra nhập khẩu stringbuilder' - bạn chỉ cần nhìn vào cấu trúc cây ở trên để xem tại sao không thành công –