2011-09-24 23 views
5

Tôi đã viết một mô-đun Python mà tôi muốn cung cấp cho người khác. Ngay bây giờ, nó được một mô-đun lớn lồng vào các thư mục con:Tôi nên chia nhỏ mô-đun Python thành các gói PyPi như thế nào?

  • hồn ma
    • util
    • ext
    • màu

Tôi nghĩ đó là tốt nhất để tách các các thư mục con thành các gói riêng biệt. The tipfy project does this. Tuy nhiên, các mô-đun extmàu phụ thuộc vào util.

Cách tốt nhất để tổ chức và phát hành các mô-đun này là gì? Tôi có chia chúng ra và đặt tên cho chúng là wraith.util, wraith.extwraith.color như tipfy? Tôi có bao gồm util khi mọi người cài đặt ext hoặc màu?

+4

Làm thế nào lớn là những phụ module? Thành thật mà nói, có lẽ đơn giản nhất là chỉ phân phối nó như một gói duy nhất. Miễn là bạn không đưa MBs dữ liệu vào ổ đĩa cứng của người dân không có lý do, không ai sẽ quan tâm đến một mô-đun bổ sung hoặc hai. – Amber

Trả lời

1

Nếu wraith.ext, vv không hữu ích, không cần chia tách. Bạn có thể tưởng tượng ai đó sẽ sử dụng wrait.util mà không cần cài đặt wraith.color?

Nếu bạn quyết định chia tách, bạn cần đặt install_requires trong setup.py, thông báo cho setuptools, vv phụ thuộc gói. Ngoài ra, bạn cần phải thiết lập namespace_packages nói rằng không gian tên wrait cũng sẽ nhận được các gói khác.

Thông tin thêm

+0

wraith.util là phần hữu ích nhất. ext và màu sắc phụ thuộc vào util. –

Các vấn đề liên quan