PyPI.org へ移設する

ページステイタス:

古い情報

pypi.org は、新しくて書き直されたバージョンの PyPI で、以前の PyPI コードベースを置き換えるものです。みなさんが普通はこれを使うものと期待されているバージョンの PyPI です。 PyPI.org とやり取りするためのツールや手順があります。

リリースを公開する

2016年9月以降、 pypi.org がデフォルトのアップロードプラットフォームです。

pypi.python.org を通じたアップロードは 2017年7月3日 に使用不可能になりました。2018年4月13日以降は、pypi.org が PyPI のURLです。

PyPI.org へ移行するためのアップロードでは、アップロードに使うツールが十分に新しいバージョンのものであることを確実にしておくことが推奨されます。

pypi.org に転換するためのデフォルトのアップロード設定は次のようなバージョンです:

  • twine 1.8.0

  • setuptools 27.0.0

  • Python 2.7.13 (distutils 更新)

  • Python 3.4.6 (distutils 更新)

  • Python 3.5.3 (distutils 更新)

  • Python 3.6.0 (distutils 更新)

ツールのデフォルト設定が切り替わっている程に十分に新しいツールを使っていることを確認するのに加えて、そのデフォルトのアップロード先 URL を上書きするような設定をしていないことを確実にしてください。これは典型的には file:$HOME/.pypirc で設定されています。もしこんなファイルを目にするようであれば:

[distutils]
index-servers =
    pypi

[pypi]
repository = https://pypi.python.org/pypi
username = <your PyPI username>
password = <your PyPI username>

その時は、 repository で始まる行を削除するだけで、アップロードツールのデフォルト URL を使うようになります。

なんらかの事情でPyPI.orgをデフォルトで使うところまでアップロードツールのバージョンを上げられないのであれば、 $HOME/.pypircrepository: 行が https://upload.pypi.org/legacy/ を指すように編集しても構いません。

[distutils]
index-servers =
    pypi

[pypi]
repository = https://upload.pypi.org/legacy/
username = <your PyPI username>
password = <your PyPI password>

(この URL の中の legacy は、新しいサーバ実装が、以前のサーバ実装のアップロード API をエミュレートしているという事実を示しています。)

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

パッケージの名前とメタデータを登録する

初回のアップロードに先立って setup.py register コマンドでパッケージの名前を明示的に先行登録する必要がなくなり、PyPI.org における以前のアップロード API のエミュレーションではサポートされなくなりました。

その結果、アップロードに PyPI.org を使うように切り替えた後は明示的な登録の試行は次のエラーメッセージを返すでしょう:

Server response (410): This API is no longer supported, instead simply upload the file.

解決方法は登録の段階を飛ばしていきなり作品のアップロードへと進むことです。

TestPyPI を使う

以前からの TestPyPI (testpypi.python.org) はもはや利用できませんので、代わりに test.pypi.org を使ってください。 TestPyPI を使うのであれば、 $HOME/.pypirchttps://testpypi.python.org/pypihttps://test.pypi.org/legacy/ に置き換えるなどして、 TestPyPI の新しい場所を使うように設定しなければなりません。例えば:

[distutils]
index-servers=
    pypi
    testpypi

[testpypi]
repository = https://test.pypi.org/legacy/
username = <your TestPyPI username>
password = <your TestPyPI password>

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

新しいユーザアカウントを登録する

PyPI に対するスパム攻撃を緩和する補助するために、 pypi.python.org における新規ユーザ登録は 2018年2月20日終了 しました。 pypi.org での新規ユーザ登録が始まっています。

パッケージを一覧する

pypi.python.org が他の PyPA 説明文書などからのリンクに使われているとしても、パッケージを一覧するデフォルトのインタフェイスは pypi.org です。pupi.python.org ドメイン名は今は pypi.org へリダイレクトされていて、いつか将来の時点で無効にされるでしょう。

パッケージをダウンロードする

pypi.org が、パッケージをダウンロードする際のデフォルトのホストです。

公開済みパッケージとリリースを管理する

pypi.org では、ログインしたユーザが自分が公開したプロジェクトやリリースについて管理するための全機能を提供しています。