2013-07-10 31 views
5

Tôi mới sử dụng Python và hoàn toàn bị mất khi bắt đầu thực hiện việc này.Làm cách nào để biên dịch nhiều tệp py thành một?

Tôi đã viết nhiều mô-đun nhỏ (bộ công cụ cho maya) cần được biên dịch thành tệp .pyc đơn. Có một mô-đun chỉ thực hiện việc này không? Hoặc bạn có thể cho tôi biết bắt đầu từ đâu không? Hướng dẫn? Tôi thậm chí không biết thuật ngữ cần tìm.

+3

làm cho bạn nghĩ gì bạn cần phải làm điều này? –

+0

Vì tôi không muốn tải 50 tệp python khác nhau vào Maya. Nó sẽ không được tốt hơn để có thể chỉ cần thêm một và có quyền truy cập vào tất cả? – user12294

+0

Không, tốt hơn hết là có 50 tệp trong một thư mục. Tải 50 tệp khác nhau không phức tạp hơn tải 1, chỉ một cuộc gọi của nó theo một trong hai cách. Tuy nhiên hình thành một quản lý, mở rộng và sử dụng điểm của nó tốt hơn để có 50 tập tin. Nếu mặt khác, bạn muốn làm xáo trộn mã của bạn không sử dụng python, hãy sử dụng C++ thay vào đó. Tuy nhiên python cho phép bạn nén các thư mục (và gọi nó là một quả trứng), do đó, người dùng chỉ nhìn thấy một thư mục, nó vẫn còn 50 tập tin riêng biệt. – joojaa

Trả lời

0

Mô-đun compileall, có trong thư viện chuẩn, sẽ biên dịch tất cả các tệp trong một thư mục, nhưng vẫn sẽ không tạo tệp .pyc đơn lẻ. Một ví dụ về cách sử dụng nó cũng được đưa ra tại effbot.org. Tôi không biết nếu nó có thể ở tất cả để tạo ra một tập tin pyc duy nhất trong nhiều mô-đun. Tuy nhiên, tôi đoán là bạn đang xem xét việc tạo ra một python egg, mà làm cho một tập tin duy nhất ra khỏi một loạt các tập tin được nhóm lại với nhau trong một gói, đó là những gì bạn muốn, tôi nghĩ.

1

Bạn thậm chí không cần phải tạo ra một quả trứng, bạn chỉ có thể nén các tệp của bạn và đặt tệp zip vào đường dẫn python của bạn. Phiên bản python của Maya bao gồm mô-đun zipimport theo mặc định để nó 'hoạt động' miễn là maya có thể tìm thấy tệp zip của bạn.

Dưới đây là một số cuộc thảo luận của cả chủ đề của các công cụ phân phối mà bạn có thể tìm thấy hữu ích:

http://tech-artists.org/forum/showthread.php?3271-Distribution-techniques-for-external-Python-tools&highlight=distribute

http://tech-artists.org/forum/showthread.php?3987-Maya-GitHub-and-Script-Paths-for-Mel-and-Python-How-Would-You-Do-It&highlight=distribute

http://tech-artists.org/forum/showthread.php?3752-Best-Way-to-Share-Your-Scripts&highlight=distribution