Hướng dẫn develop your own python package - phát triển gói python của riêng bạn
Tại sao Pypi?Chỉ số gói Python (PYPI) là một kho phần mềm cho ngôn ngữ lập trình Python. PYPI giúp bạn tìm và cài đặt phần mềm được phát triển và chia sẻ bởi cộng đồng Python. Nếu bạn sử dụng lệnh if __name__ == "__main__": 4, bạn đã sử dụng PYPI. Show
Khi gói của bạn được xuất bản lên PYPI, mọi người đều có thể cài đặt và sử dụng nó với lệnh đơn giản quen thuộc: pip install {your_package_name} Tuyệt, hả? Vì vậy, bạn cần làm gì để xuất bản gói của riêng bạn lên PYPI? Dưới đây là một danh sách ngắn các bước:
Bước 1. Làm cho mã của bạn xuất bản sẵn sàngHướng dẫn này sẽ lấy gói của tôi được gọi là if __name__ == "__main__": 6 làm ví dụ thực tế. Bạn có thể tìm thấy nó ở đây trên PYPI, mã nguồn ở đây trên GitHub.Một số quy tắc của ngón tay cái:
if __name__ == "__main__": Tạo gói PythonGói trong Python chỉ đơn giản là một thư mục có tên của gói của bạn. Thư mục này chứa các tệp (mô-đun) và các bộ phụ khác (gói phụ). Và bạn cần đặt một tệp if __name__ == "__main__": 9 (hai dấu gạch dưới và sau from . import indextools 0) để đánh dấu thư mục này thành gói Python. Bên trong tệp if __name__ == "__main__": 9 này, bạn có thể chỉ định lớp bạn muốn người dùng truy cập thông qua giao diện gói.Tệp mẫu from . import indextools 2:from . import indextools Thêm các tệp cần thiết cho pypiNhu cầu PYPI theo tệp để làm việc:
Cấu trúc dự án mẫu: . Tệp from . import indextoolsfrom . import doctools__all__ = [ 'indextools', 'doctools']3Tệp setup.py chứa thông tin về gói của bạn mà pypi cần, như tên của nó, một mô tả, phiên bản hiện tại, v.v. from setuptools import setup, find_packages Lưu ý: Không nhầm lẫn __all__ = [ from . import indextools 9 with . 0. We usefrom . import indextools 9 here.Hầu hết các tùy chọn đều có thể tự giải thích, bạn chỉ có thể sao chép nội dung của from . import indextools 3 ở trên và sửa đổi nó là nhu cầu của bạn. Xin nhớ liệt kê tất cả các phụ thuộc của gói của bạn trong danh sách . 3, để các yêu cầu này có thể được cài đặt tự động trong khi gói của bạn đang được cài đặt.
Bao gồm các tệp dữ liệuĐể bao gồm các tệp dữ liệu (cấu hình, env, mẫu.) Đến gói, lúc đầu, chúng ta cần thêm dòng này vào from . import indextools 3:setup( Và sau đó tạo một tệp . 5 bên cạnh tệp from . import indextools 3 và liệt kê tất cả các tệp cần thiết để bao gồm như sau:include src/templates/* Bước 2. Tạo tài khoản PypiNếu bạn đã có tài khoản PYPI (và vẫn còn nhớ tên người dùng/mật khẩu của bạn), bạn có thể bỏ qua bước này. Nếu không, vui lòng truy cập trang chủ PYPI và đăng ký tài khoản mới ngay lập tức (tất nhiên là miễn phí). Bước 3. Tạo lưu trữ phân phối và tải lên PYPITạo tài liệu lưu trữ phân phốiĐây là những tài liệu lưu trữ được tải lên chỉ mục gói và có thể được cài đặt bởi PIP. Đảm bảo bạn đã cài đặt các phiên bản mới nhất của from . import indextools 9 và . 8:pip install --user --upgrade setuptools wheel Bây giờ hãy chạy lệnh này từ cùng một thư mục nơi from . import indextools 3 được đặt:python3 setup.py sdist bdist_wheel Lệnh này sẽ xuất ra rất nhiều văn bản và sau khi hoàn thành sẽ tạo hai tệp trong thư mục from setuptools import setup, find_packages 0, trong số các tệp khác trong thư mục from setuptools import setup, find_packages 1 và from setuptools import setup, find_packages 2:. Bạn nên thêm tất cả ba thư mục này vào tệp from setuptools import setup, find_packages 3 của bạn.Tải lên kho lưu trữ phân phốiĐể làm điều này, bạn có thể sử dụng from setuptools import setup, find_packages 4. Đầu tiên, cài đặt nó bằng if __name__ == "__main__": 4:if __name__ == "__main__": 0Sau đó tải lên tất cả các tài liệu lưu trữ lên PYPI: if __name__ == "__main__": 1Sau khi tải lên thành công, hãy truy cập trang web PYPI, theo dự án của bạn, bạn có thể tìm thấy gói được xuất bản của mình. Gói được xuất bản xuất hiện theo `Dự án của bạn trên PYPI.`Your projects` on PyPi.Danh sách công khai ở đây: https://pypi.org/project/elastictools/ Trang gói công khai của bạn trên PYPI.Bước 4. Cài đặt gói của riêng bạn bằng cách sử dụng if __name__ == "__main__": code outside of a class or function goes here4Bây giờ mọi người đều có thể cài đặt gói của bạn bằng lệnh from setuptools import setup, find_packages 7 quen thuộc:pip install {your_package_name} Và cập nhật nó sau: if __name__ == "__main__": 3 |