Phát hành gói của bạn

Phát triển gói Python

James Fulton

Climate informatics researcher

PyPI

Python Package Index

  • pip cài đặt gói từ đây
  • Bất kỳ ai cũng có thể tải gói lên
  • Hãy tải gói của bạn lên ngay khi nó có thể hữu ích
1 https://pypi.org/
Phát triển gói Python

Các loại phân phối

  • Gói phân phối (distribution): phiên bản đóng gói, sẵn sàng cài đặt.
  • Phân phối mã nguồn (source distribution): gói phân phối chủ yếu là mã nguồn.
  • Phân phối wheel (wheel): gói phân phối đã được xử lý để cài đặt nhanh hơn.
Phát triển gói Python

Cách build các gói phân phối

python setup.py sdist bdist_wheel

  • sdist = phân phối mã nguồn
  • bdist_wheel = phân phối wheel
mysklearn/
|-- mysklearn
|-- setup.py
|-- requirements.txt
|-- LICENSE
|-- README.md

|-- dist <---
| |-- mysklearn-0.1.0-py3-none-any.whl
| |-- mysklearn-0.1.0.tar.gz
|-- build |-- mysklearn.egg-info
Phát triển gói Python

Đưa gói của bạn ra cộng đồng

Tải gói phân phối của bạn lên PyPI

twine upload dist/*

Tải gói phân phối của bạn lên TestPyPI

twine upload -r testpypi dist/*
mysklearn/
|-- mysklearn
|-- setup.py
|-- requirements.txt
|-- LICENSE
|-- README.md
|-- dist
|   |-- mysklearn-0.1.0-py3-none-any.whl
|   |-- mysklearn-0.1.0.tar.gz
|-- build
|-- mysklearn.egg-info
Phát triển gói Python

Người khác cài đặt gói của bạn như thế nào

Cài đặt gói từ PyPI

pip install mysklearn

Cài đặt gói từ TestPyPI

pip install --index-url         https://test.pypi.org/simple 
            --extra-index-url   https://pypi.org/simple
            mysklearn
Phát triển gói Python

Ayo berlatih!

Phát triển gói Python

Preparing Video For Download...