Công cụ đóng gói trong Python là gì?

Tại buổi gặp mặt Python Frederick tuần trước, tôi đã nói chuyện về bao bì Python. Mục đích của tôi là đề cập đến cách thức hoạt động của bao bì và cách xây dựng một gói cơ bản. Trong suốt buổi nói chuyện, chúng tôi đã sử dụng một số công cụ mà tôi nghĩ là rất quan trọng để phát hành gói Python cho PyPI. Tôi sẽ mô tả những công cụ này và lý do tại sao tôi nghĩ chúng quan trọng

chất độc

tox là một công cụ tuyệt vời để kiểm tra bao bì. Với lệnh

$ twine upload dist/*
61, nhà phát triển có thể xây dựng gói, cài đặt gói đó vào môi trường ảo cho phiên bản Python cụ thể và chạy gói thông qua bộ thử nghiệm của nó

Phiên bản ngắn của running tox trông giống như

$ tox -e py36

Lệnh này sẽ chạy bộ thử nghiệm của gói đối với Python 3. 6. Tôi thích nó khi các lệnh thanh lịch. Để làm được điều đó, nhà phát triển phải cho tox biết cách chạy bộ thử nghiệm. Cấu hình này được thực hiện trong tệp

$ twine upload dist/*
62. Một tập tin tối thiểu có thể trông giống như

[tox]
envlist = py36

[testenv]
commands = python -m unittest discover \
    -s {envsitepackagesdir}/whirlygig

Trong ví dụ này, bạn sẽ thay đổi

$ twine upload dist/*
63 thành tên dự án của bạn. Đây là thông tin đủ để thông báo cho tox về cách chạy bộ thử nghiệm của bạn

Tôi thấy rằng việc sử dụng tox giúp tôi tránh được các lỗi đóng gói khó phát hiện [bạn có biết chúng tồn tại không?] và nói chung là tuyệt vời để thử nghiệm trên nhiều phiên bản Python

quanh co

sợi xe là một công cụ quan trọng trong bộ công cụ của nhà đóng gói vì một lý do. nó cho phép bạn tải lên PyPI qua HTTPS. Ngược lại,

$ twine upload dist/*
64 sử dụng HTTP không an toàn cho nhiều phiên bản Python

Mặc dù có vẻ ngớ ngẩn nhưng bạn cần một gói riêng để tải lên an toàn qua HTTPS. Tôi cho rằng có những lý do chính đáng cho yêu cầu đó mà tôi không biết

$ twine upload dist/*
65 tạo một thư mục
$ twine upload dist/*
66 với các gói để tải lên. [Biên tập. Ghi chú. Xin chào từ 2021. Cộng đồng Python đã ngừng sử dụng trực tiếp
$ twine upload dist/*
67. Thay vào đó, để xây dựng các gói của bạn, hãy sử dụng một công cụ như bản dựng]. Bạn có thể thực hiện tải lên của mình với

$ twine upload dist/*

Tóm lược

Hệ sinh thái Python có tài liệu tuyệt vời về đóng gói tại Hướng dẫn sử dụng bao bì Python. Bài đăng này nhằm mục đích giới thiệu nhẹ nhàng về một vài công cụ rất có giá trị khi bạn muốn làm việc với các gói

[Vâng, tôi biết một "gói" về mặt kỹ thuật được gọi là "phân phối" trong biệt ngữ Python thích hợp, nhưng tôi đã sử dụng thuật ngữ này vì nó được chấp nhận rộng rãi hơn trong nhiều ngôn ngữ lập trình. ]

Thư viện này cung cấp các tiện ích triển khai các thông số kỹ thuật về khả năng tương tác rõ ràng có một hành vi đúng [ví dụ:. PEP 440] hoặc hưởng lợi rất nhiều từ việc có một triển khai được chia sẻ duy nhất [ví dụ:. PEP 425]

Dự án đóng gói bao gồm những điều sau đây. xử lý phiên bản, chỉ định, đánh dấu, yêu cầu, thẻ, tiện ích

Lịch sử dự án

Vui lòng xem lại THAY ĐỔI. tệp đầu tiên hoặc tài liệu Nhật ký thay đổi cho các thay đổi gần đây và lịch sử dự án

Pipenv là một công cụ đóng gói dành cho Python giúp giải quyết một số vấn đề phổ biến liên quan đến quy trình làm việc điển hình bằng cách sử dụng

package_a
package_b
8,
package_a
package_b
9 và
package_c>=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,=1.0,

Chủ Đề