Zenn
📚

PyPI と TestPyPI への公開手順

に公開

PyPI と TestPyPI への公開手順

Python パッケージを PyPI および TestPyPI に公開する手順をまとめました。

前提条件

必要なツール

以下をインストール:

pip install build twine

アカウント作成

認証情報の設定(任意)

~/.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/*

注意点

  • バージョン管理: pyproject.tomlsetup.py一意のバージョン を指定(例: 0.1.0)。
    • 同じバージョンの再アップロードは不可
  • クリーンアップ: 再ビルド前に dist/ を削除:
    rm -rf dist/*
    
  • 依存関係の指定: pyproject.toml[project.dependencies] に記載。
  • ドキュメント: README.md が PyPI のプロジェクトページに表示される。

手順の流れ(まとめ)

  1. ビルド: python -m build
  2. TestPyPI へアップロード: twine upload --repository testpypi dist/*
  3. PyPI へアップロード: twine upload dist/*

参考文献

Discussion

ログインするとコメントできます