發佈你的套件

開發 Python 套件

James Fulton

Climate informatics researcher

PyPI

Python Package Index

  • pip 從這裡安裝套件
  • 任何人都能上傳套件
  • 一旦有用,就該上傳你的套件
1 https://pypi.org/
開發 Python 套件

散佈檔

  • 散佈套件(Distribution package):可直接安裝的打包版本。
  • 原始碼散佈(Source distribution):主要包含原始碼的散佈套件。
  • Wheel 散佈(Wheel distribution):已處理過、安裝更快的散佈套件。
開發 Python 套件

如何建立散佈檔

python setup.py sdist bdist_wheel

  • sdist = 原始碼散佈
  • bdist_wheel = 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
開發 Python 套件

把你的套件推出去

將散佈檔上傳到 PyPI

twine upload dist/*

將散佈檔上傳到 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
開發 Python 套件

其他人如何安裝你的套件

PyPI 安裝套件

pip install mysklearn

TestPyPI 安裝套件

pip install --index-url         https://test.pypi.org/simple 
            --extra-index-url   https://pypi.org/simple
            mysklearn
開發 Python 套件

一起來練習吧!

開發 Python 套件

Preparing Video For Download...