📚
PyPI と TestPyPI への公開手順
PyPI と TestPyPI への公開手順
Python パッケージを PyPI および TestPyPI に公開する手順をまとめました。
前提条件
必要なツール
以下をインストール:
pip install build twine
アカウント作成
- PyPI: https://pypi.org でアカウント作成。
- TestPyPI: https://test.pypi.org でアカウント作成(別アカウントが必要)。
認証情報の設定(任意)
~/.pypirc
に API トークンを保存すると、アップロード時の入力を省略可能:
[distutils]
index-servers =
pypi
testpypi
[pypi]
username = __token__
password = <pypi-api-token>
[testpypi]
username = __token__
password = <testpypi-api-token>
API トークンは、各サイトの 「Account Settings」 で生成。
手順
1. パッケージのビルド
プロジェクトのルートディレクトリで実行:
python -m build
出力ファイル(dist/
フォルダ内):
<package-name>-<version>-py3-none-any.whl
<package-name>-<version>.tar.gz
2. TestPyPI へのアップロード
以下のコマンドでアップロード:
twine upload --repository testpypi dist/*
-
認証:
~/.pypirc
に未設定の場合、ユーザー名とトークンを手動入力。 - 確認: https://test.pypi.org/project/<package-name>/
-
テストインストール:
pip install -i https://test.pypi.org/simple <package-name>
3. PyPI へのアップロード
TestPyPI で動作確認後、PyPI へアップロード:
twine upload dist/*
-
認証:
~/.pypirc
に未設定の場合、ユーザー名とトークンを手動入力。 - 確認: https://pypi.org/project/<package-name>/
-
インストール:
pip install <package-name>
注意点
-
バージョン管理:
pyproject.toml
やsetup.py
で 一意のバージョン を指定(例:0.1.0
)。- 同じバージョンの再アップロードは不可。
-
クリーンアップ: 再ビルド前に
dist/
を削除:rm -rf dist/*
-
依存関係の指定:
pyproject.toml
の[project.dependencies]
に記載。 -
ドキュメント:
README.md
が PyPI のプロジェクトページに表示される。
手順の流れ(まとめ)
-
ビルド:
python -m build
-
TestPyPI へアップロード:
twine upload --repository testpypi dist/*
-
PyPI へアップロード:
twine upload dist/*
Discussion