TestPyPI を使う#

TestPyPIPython パッケージインデックス とは別のインスタンスで、本番環境に影響を与えてしまう心配をせずに配布ツールやプロセスを試してみることができます。 TestPyPI は test.pypi.org にホストされています

アカウントを登録する#

TestPyPI は PyPI とは別のデータベースで運用されているので、 TestPyPI 専用のユーザアカウントを作成する必要があります。 https://test.pypi.org/account/register/ へ行ってアカウントを登録しましょう。

注釈

TestPyPI 用のデータベースは定期的に刈り込まれるので、往々にしてユーザアカウントが削除されることがあります。

Twine を使って TestPyPI を使う#

twine--repository フラグを指定して使うことで、配布物を TestPyPI にアップロードすることができます:

twine upload --repository testpypi dist/*

https://test.pypi.org/project/<sampleproject>sample project の部分をあなたがアップロードしたプロジェクトの名前に置き換えた URL を参照すれば、あなたのパッケージがうまくアップロードできたかどうかを確認することができます。サイトにあなたのプロジェクトが反映されるまでには 1,2 分かかるかもしれません。

pip で TestPyPI を使う#

pip で PyPI の代わりに TestPyPI からパッケージをダウンロードするには、 --index-url フラグを指定しましょう:

python3 -m pip install --index-url https://test.pypi.org/simple/ your-package
py -m pip install --index-url https://test.pypi.org/simple/ your-package

pip が PyPI からもパッケージをダウンロードできるようにしたいのであれば、 --extra-index-url に PyPI を指定しましょう。テストしようとしているパッケージが依存関係を持つ場合にこれが役に立ちます:

python3 -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ your-package
py -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ your-package

.pypirc ファイルで TestPyPI を設定する#

ユーザ名やパスワードの入力を毎回促されるのを避けたいなら、 $HOME/.pypirc 内で TestPyPI の設定をしておくことができます。

[testpypi]
username = __token__
password = <your TestPyPI API Token>

.pypirc についてさらに詳しく知りたい場合は specification を見てください。