web-dev-qa-db-ja.com

ひもでプロジェクトの新しいバージョンをPyPIにアップロードする方法は?

PythonパッケージをPyPIにアップロードしました。ただし、パッケージの新しいバージョンを作成し、それをアップロードする必要があります。パッケージを初めてアップロードするときと同じように、同じように進めようとしました。しかし、私にこのエラーを与えます:

HTTPError: 400 Client Error: File already exists. See https://pypi.org/help/#file-name-reuse for url: https://upload.pypi.org/legacy

エラーなしで新しいバージョンをアップロードするにはどうすればよいですか?

22
Basel Akasha

PyPIでは、配布ファイル名(プロジェクト名+バージョン番号+配布タイプ)の再利用は許可されていません。

これにより、特定のプロジェクトの特定のリリースの特定のディストリビューションが常に同じファイルに解決され、プロジェクトのメンテナーまたは悪意のある者によって不正に変更されることはありません(削除のみ可能)。

バージョン番号を、以前にPyPIにアップロードしたことがないものに変更する必要があります。

ディストリビューションのアップロード方法については言及していませんが、より糸を使用している場合は、以前にアップロードしたディストリビューションをアップロードしようとしている可能性もあります。これを解決するには、次のようにします。

$ twine upload --skip-existing dist/*
25
Dustin Ingram

バージョン番号を変更する必要があります。

2
mklucz

次の理由でそのエラーが発生する可能性があります。

  • setup.pyでバージョンを変更しませんでした
  • 以前のdistファイルは削除されませんでした

解決:

  • setup.pyのバージョン番号を変更します。
  • セットアップファイルを再度実行します。 python setup.py bdist_wheel
  • そのdistファイルのみをアップロードするか、より糸を使用します(使用する場合)。 twine upload --skip-existing dist/*

@dustinで述べたように、同じ名前のdistファイルを再度アップロードすることはできません。

1
Nelson Sequiera