パッケージを公開する

Pythonパッケージ開発

James Fulton

Climate informatics researcher

PyPI

Python Package Index

  • pip はここからパッケージを取得します
  • 誰でもパッケージを公開できます
  • 役立ちそうになったらすぐ公開しましょう
1 https://pypi.org/
Pythonパッケージ開発

配布物

  • 配布パッケージ: インストール可能にまとめたもの
  • ソース配布: 主にソースコードの配布パッケージ
  • ホイール配布: 迅速にインストールできるよう処理済みの配布パッケージ
Pythonパッケージ開発

配布物のビルド方法

python setup.py sdist bdist_wheel

  • sdist = ソース配布
  • bdist_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...