はじめに
Pythonではよりお手軽にpip
でインストールするためにPyPI
に作成したライブラリをアップロードすることができます。
このとき、通常はユーザー名・パスワードをアップロード時に手動でコンソールに入力する必要がありますが、APIトークンを発行すればこれらユーザ名・パスワードを省略することができます。
PyPIへのアップロード (トークンを使用しない)
pipenv install --dev wheel twine
パッケージ化とアップロードのためにwheel
とtwine
をdevで入れます。
wheelはパッケージの1形式であり、かつその形式を作成するためのライブラリです。 (gemみたい)
twineはPyPIにアップロードをするためのライブラリです。
パッケージマネージャはpip
でもpoetry
でも大丈夫です。
アップロードするときは、以下のシェルスクリプトを自分は利用しています。
#!/usr/bin/env bash
rm -f -r {your-library-name}.egg-info/* dist/*
python setup.py bdist_wheel
twine upload dist/*
このとき、ユーザー名とパスワードをtwineを利用時に打つ必要があります。
これはとても面倒なので、APIトークンを利用することにします。
APIトークン
Add API tokenから発行できます。
APIトークンを発行したら、以下の内容をホームディレクトリに~/.pypirc
として置いてあげます。
[pypirc]
servers =
pypi
[pypi]
username: __token__
password: your_token
__token__
は、いかにも別の名前のトークン入れる感じみたいな名前ですが、そのままプレーンテキストで__token__
とそのまま打ってあげればいいです。
passwordの方に関しては設定が必要で、先程発行したAPIトークンを書く必要があります。