Pythonが独自のライブラリをPypiにリリースしましたアップロードに失敗しました(403):無効または存在しない認証情報

独自のホイールを公開する-PyPIパッケージのアップロードの練習

アップロードに 失敗しました (403): 認証情報が無効 または 存在 しません 

エラーの理由:、python setup.py sdist uploadアップロード方法は現在廃止されています。

解決策:より糸を使用する : twine upload dist/*

 

この記事では、アップロードに関連する手順についてのみ説明します。アップロードの方法setup.py については、公式ドキュメントを参照してください。

アップロードする前の注意事項

  • パッケージが開発されておりルートディレクトリにsetup.pyが存在する必要があると仮定します
  •  ホイールを説明するためにREADME.rst用意するのが最善です。これは必須ではありませんが、ドキュメントは下着のようなものです。
  • 著作権情報など、コードフォルダー外のファイルをパッケージ化する必要がある場合は、MANIFEST.inも作成する必要があります 

setup.py補足説明

  • name 一意である必要があります。数字と文字を使用できます。pipのインストールではアンダースコアのみがサポートされるため、アンダースコア(_)の代わりにアンダースコア(-)を使用することをお勧めします。たとえばpip install my-pkg、問題が発生しないように注意してください
  • versionセマンティックバージョン番号のルールに従うことをお勧めします。これは単純に次のようになります。1.2.0
  • 著者の名前とメールアドレスは、PyPIアカウントと同じである必要はありません。

ローカルパッケージングコマンドをテストする

上記のいずれにも問題がない場合は、ローカルディレクトリで次のコマンドを実行すると、distディレクトリに* .tar.gzパッケージファイルを正常に生成できるはずです。

python setup.py sdist

パッケージファイルをアップロードしてPyPIに公開します

PyPIアカウントを作成する

非常に簡単です。公式ウェブサイトhttps://pypi.python.org/pypi?...から直接登録し ますが、メールを確認してアクティベーションを確認する必要があります。

ユーザー認証ファイルを作成する ~/.pypirc

ユーザーディレクトリに新しい空のファイルを作成し、.pypirc次のように名前を付けます。

[distutils]
index-servers=pypi

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

ユーザー名とパスワードは前の手順で作成したものであり、プレーンテキストで直接入力します。プレーンテキストのパスワードが安全でないと思われる場合は、空白のままにしておくと、アップロードプロセス中に手動で入力するように求められます。

パッケージを登録する

実際にアップロードする前に、PyPIにパッケージを登録して確認する必要があります。登録するにはいくつかの方法があります。

  1. コマンドの使用はpython setup.py register最も簡単ですが、公式Webサイトは推奨されていません。これは、HTTPの使用が暗号化されていないため、攻撃者がパスワードを盗聴する可能性があるためです。
  2. PyPI Webサイトからフォーム送信して、登録の確認完了します。
  3. pip install twine その後twine register dist/mypkg.whl 、インストールはコマンドを使用して登録を 完了します 

アップロードして公開を終了します

次の2つの方法のいずれかを選択して、ホイールを公開できます。

  1. 次のコマンドを使用します。python setup.py sdist upload上記と同じように、単純ですが、潜在的な安全上の問題があるため、現在は削除されています。
  2. より糸を使用する : twine upload dist/*

パッケージを管理する

パッケージが正常にアップロードされた場合、PyPI Webサイトにログインすると、右側のナビゲーションバーに管理エントリが表示されます。

pypi_manage

パッケージ名をクリックすると、パッケージを管理できます。もちろん、ここからパッケージを削除することもできます。

他の人にあなたのバッグを使わせましょう

パッケージがリリースされた後、他の人はpipを使用してパッケージファイルをインストールするだけで済みます。といった:

pip install package-name

パッケージを更新すると、他の人は--updateパラメータを介して更新できます。

pip install package-name --update

考えられるエラー

アップロードに失敗しました(403):認証情報が無効または存在しません。

ユーザー認証情報が間違っているため、ユーザー認証ファイルを作成する必要があります ~/.pypirc上記を参照。

アップロードに失敗しました(403):「xxx」パッケージ情報を編集することはできません

アップロードを開始する前にパッケージを登録する必要があります。登録コマンドを実行します。python setup.py register

サーバーの応答(401):登録が不完全です。あなたのメールをチェック

PyPIアカウントでメールの確認が完了していません。登録済みのメールアドレスにアクセスして確認メールを見つけ、確認を完了して、失敗した手順を再試行する必要があります。

サーバーの応答(400):無効な分類子「トピック::ソフトウェア開発::ユーティリティ」

setup.pyファイルの分類子情報が間違っています公式ウェブサイトで正しい分類に従って分類子記述してください

エラー:以前のコマンドで作成されたdistファイルがありません

パッケージ化する前にアップロードコマンドを開始しました。次のように、パッケージ化とアップロードの操作を一緒に実行することをお勧めします。

python setup sdist upload

エラー:アップロードに失敗しました(499):クライアントが切断されました

これはネットワークの問題であるはずです。数回試してください。

アップロードに失敗しました(400):ファイルは既に存在します

ファイルはすでに存在しているため、毎回バージョン番号を更新する必要があります。

参考文献

著者について:現在テスト開発関連の作業に従事しているPythonテクノロジー愛好家は、元のソースを示してください。

私のブログhttps://betacat.onlineをフォローすることを歓迎し ます、あなたは群衆になるために私の公式アカウントに行くことができます。

おすすめ

転載: blog.csdn.net/xcntime/article/details/115189401
おすすめ