2014-09-26 29 views
13

Để giai đoạn dự án python trong tổng công ty của chúng tôi, tôi cần tạo bản phân phối có thể cài đặt.Xây dựng một bánh xe/trứng và tất cả các phụ thuộc cho dự án python

này nên bao gồm:

  • Một quả trứng hay WHL cho dự án của tôi
  • Một quả trứng hay WHL cho mỗi phụ thuộc của các dự án
  • (tùy chọn) tạo ra một tập tin requirements.txt liệt kê tất cả các cài đặt các thành phần cho bản phát hành này

Có một plug dễ dàng, (ví dụ: thay thế cho bdist_wheel) sẽ không chỉ biên dịch một bánh xe mà còn là thành phần của dự án đó không?

Rõ ràng là tôi có thể viết kịch bản này, nhưng tôi đã hy vọng rằng có thể có một đoạn cắt ngắn xây dựng gói + phụ thuộc trong ít bước hơn.

Điều này cần phải làm việc trên Python 2.7 trên Windows + Linux.

Trả lời

17

Bạn cần phải tạo tệp setup.py cho gói của mình. Hãy chắc chắn rằng bạn đã cài đặt và cài đặt pip mới nhất. Sau đó, hãy chạy như sau:

python setup.py bdist_wheel 

Điều này sẽ tạo tệp bánh xe cho gói của bạn. Điều này giả định bạn không có tiêu đề C/C++, DLL, v.v. Nếu bạn làm như vậy, thì có thể bạn sẽ có nhiều việc phải làm hơn.

Để có được phụ thuộc, bạn sẽ muốn tạo một file requirements.txt và chạy như sau:

pip wheel -r requirements.txt 

Nếu gói của bạn không phải là trên PyPI, sau đó bạn sẽ phải tự sao chép tập tin bánh xe của gói của bạn vào thư mục bánh xe mà lệnh này tạo ra. Để biết thêm thông tin xem các bài viết xuất sắc sau đây:

16

Với sự mới nhất pipwheel, bạn chỉ có thể chạy

pip wheel . 

trong thư mục dự án của bạn, thậm chí nếu isn ứng dụng của bạn trên PyPi. Tất cả các bánh xe sẽ được lưu trữ trong ./wheelhouse. Tuy nhiên, khi tôi thử nó, nó đã bỏ lỡ một trong những phụ thuộc của tôi và tôi cần phải tự xây dựng nó. Không chắc chắn lý do tại sao.

+0

Nó tìm kiếm các gói địa phương của tôi trên pypi để nó không thành công. Thay vào đó, tôi chạy 'python setup.py bdist_wheel' trước, sau đó chạy' pip wheel -r requirements.txt' cho các gói pypi. – guneysus

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