Đây là cách khai báo các gói "không gian tên" trong Python.
đây là những gì và vấn đề là gì:
Hãy tưởng tượng bạn phân phối một sản phẩm phần mềm trong đó có rất nhiều chức năng, và không phải tất cả mọi người muốn tất cả của nó, vì vậy bạn chia nó thành từng miếng và tàu plugin như tùy chọn .
Bạn muốn mọi người có thể làm
import your_project.plugins.plugin1
import your_project.plugins.plugin2
...
nào là tốt nếu cấu trúc thư mục của bạn là chính xác như trên, cụ thể là
your_project/
__init__.py
plugins/
__init__.py
plugin1.py
plugin2.py
Nhưng nếu bạn tàu hai plugins như trăn riêng gói để chúng được đặt trong hai thư mục khác nhau? Sau đó, bạn có thể muốn đặt __import__('pkg_resources').declare_namespace(__name__)
trong mỗi gói __init__.py
để Python biết các gói đó là một phần của gói "không gian tên" lớn hơn, trong trường hợp của chúng tôi là your_project.plugins
.
Vui lòng tham khảo documentation để biết thêm thông tin.
Nguồn
2016-05-08 21:08:57
Bạn có thể tìm thấy câu hỏi này và câu trả lời hữu ích: http://stackoverflow.com/questions/5064951/packaging-common-python-namespaces –