2010-07-20 41 views
16

Các lợi ích và sự cố với các hệ thống khác nhau của Python make là gì?Python tạo hệ thống

lưu ý Chúng tôi đang sử dụng denotations '(+)' và '(-)' tương ứng ở phần đầu của danh sách các mục để chỉ ra những lợi ích và các vấn đề.

Cho đến nay tôi biết

  • buildit
    • trước đây được biết đến như pymake
    • (-) dường như được obsolescing: phát hành cuối cùng là vào cuối năm 2007
  • zc.buildout
    • (+) hiện đang hoạt động như của 2010-07-20
    • sử dụng cú pháp rc-file giống như với [sections]
    • (-) (?) Mã python có thể không dễ dàng được tích hợp vào tập tin cấu hình .
    • dường như đặt trọng tâm nhiều vào việc làm việc với các tệp .egg.
  • scons
    • (+) hiện đang hoạt động như của 2010/07/20 file cấu hình
    • được viết bằng Python tinh khiết
    • (+) mã python có thể dễ dàng được tích hợp vào tệp cấu hình
    • (-)? sử dụng Python cho các tập tin cấu hình có thể đòi hỏi thêm cách rườm rà
  • waf
    • (+)?Mark nói "Lợi ích là scons nhưng nhanh hơn"
    • Bất kỳ nhược điểm nào? Tại sao mọi người vẫn đang sử dụng scons?
+0

"thêm tính cách rườm rà"? Nó chắc chắn có vẻ rõ ràng và chính xác hơn bất kỳ phương án thay thế nào. Điểm của câu hỏi này là gì? –

+0

có lẽ là một kho lưu trữ thông tin về các công cụ 'make' của python (ít nhất đó là giả định của tôi xem xét trạng thái CW) –

+0

Tôi đã thực hiện một số nghiên cứu nhanh chóng và đưa ra danh sách này. Tôi tự hỏi a) nếu có nhiều lựa chọn hơn và b) nếu có một số khía cạnh đáng chú ý khác cho các tùy chọn được liệt kê ở đây. – intuited

Trả lời

0

Khi tôi sử dụng waf khoảng 1,5-2 năm trước, nó có tài liệu hướng dẫn thực sự thưa thớt và nghèo mà rất nhiều hạn chế tiện ích của nó. Tôi đã không sử dụng waf trong một thời gian, mặc dù, vì vậy có lẽ tình hình đã thay đổi.

+0

Bây giờ có một "cuốn sách" trên waf tại [https://waf.io/book/] với rất nhiều ví dụ. – Chelmite

3

Một quirk của waf là nó phải được sao chép vào cây nguồn của chương trình. Scons là rất nhiều giống như thực hiện trong đó nó được cài đặt một lần trên hệ thống, và sau đó bạn có cơ bản chỉ là một tập tin dữ liệu (trong các hình thức của một chương trình python) trong cây nguồn.

Do đó, Scons được đóng gói trên Ubuntu/Debian và waf thì không.

Có thể có một chút khó khăn trong Scons để thực hiện lập trình meta để điều khiển biểu đồ phụ thuộc hoặc thêm khái niệm mới cho nguồn gốc. Rõ ràng waf là tốt hơn ở đó.

Tôi đã sử dụng Scons rất nhiều lần; cho dự án biên dịch tiếp theo của tôi, tôi có lẽ sẽ ít nhất là thử waf.

Bạn có thể đọc khoảng Samba's experience with waf. Họ báo cáo rằng việc chuyển từ autoconf sang Waf có các rpath được thiết lập chính xác và thu nhỏ các tệp nhị phân bằng cách liên kết các tệp đối tượng cần thiết một cách chính xác một lần cho mỗi chương trình.

1

Đây là trạng thái của 4 trong số các hệ thống xây dựng phần mềm cho Python 3, tính đến 2015-05-31.

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