web-dev-qa-db-ja.com

TwineでPyPiにアップロードできません

次のコマンドを使用して、pythonパッケージをPyPiにアップロードしようとしています:

pip install -e .
python setup.py bdist_wheel --universal
twine upload --repository-url https://upload.pypi.org/legacy/ dist/*

このエラーが発生します:

HTTPError:403クライアントエラー:認証情報が無効または存在しません。 URLの場合: https://upload.pypi.org/legacy/

次のコマンドも試しました。

twine upload dist/*
twine upload --repository-url pypi dist/*
twine upload --repository-url https://upload.pypi.org/legacy dist/*
python setup.py bdist_wheel --universal upload

同じディレクトリにある.pypircファイルを使用して、次のコマンドを実行しています。

[distutils]
index-servers =
    pypi
    pypitest

[pypitest]
repository: https://testpypi.python.org/pypi/
username: <username>
password: <password>

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

しかし、それでもパスワードを求められます。 (ここでもアカウントを作成した後、pypitestを使用してこれを試しましたが、同じエラーが発生します)

私も同じことを試みましたが、リポジトリ行を削除しました。

アップロードしようとしているパッケージ名は以前は占有されていましたが、現在は削除されています- https://pypi.python.org/pypi?name=&version=1.0.0&:action=display =パッケージが見つからないことを示します

使用しているユーザー名とパスワードは、正常にログインするために使用しているものと同じです https://pypi.python.org/pypi?%3Aaction=login_form

11
ECH

使用していたアカウントになんらかのエラーがあるようです。次の手順で修正しました。

  1. 新しいアカウントを作成する
  2. twine upload dist/*の新しいアカウントでパッケージをアップロードします
  3. 以前のアカウント(最初にアップロードしたいアカウント)を所有者としてパッケージに追加します

また、テストpypiサーバー--repository-url https://test.pypi.org/legacy/では、ライブサーバー--repository-url https://upload.pypi.org/legacy/から別のアカウントを作成する必要があることに注意してください。

6
ECH

新しいパッケージを作成するためのpypi命令 の後にこの問題が発生しました。このチュートリアルでは、テストサーバーへのアップロードについて説明します(--repository-url https://test.pypi.org/legacy/)、私は常に403を取得します。

実際のアップロードサーバーの場合、(--repository-url https://upload.pypi.org/legacy/)私の資格情報は正常に機能します。したがって、明らかに、テストサーバーとライブサーバーの間で資格情報にいくつかの違いがあります。これは、この問題にぶつかる場合に検討する価値があります。

4
thclark

別の方法として、コピーと貼り付けが機能していなかった可能性があります。コマンドラインにパスワードを貼り付けようとすると、このエラーが表示されましたが、手動で入力すると成功しました。

3
ECH

パスワードを入力するとき、パスワードは間違っていません、そしてそれはバグだと思います。

私が使う -uユーザー名と-pコンソールが提供するフィールドを使用せずに直接パスワードを入力します(デフォルト)。

私はこれをコマンドで実行しようとします:twine upload -u YOUR-USERNAME -p YOUR-PASSWORD - repository-url https://test.pypi.org/legacy/ dist / *

私はそのコマンドをWindowsで実行します

わたしにはできる。これが役立つことを願っています

3
Muhammad Adam C

PyPiとTestPyPiは、個別のユーザーデータベースを持つパッケージインデックスの個別のインスタンスです。したがって、個別のアカウントを作成する必要があります。

運が良ければ、テストアカウント名が取得されず、本番環境と同じコマンドをテストで使用できる可能性があります。

(不平を言う、不平を言う、パイソンの禅、不平を言う....)

2
Lorem Ipsum

私も同じ問題を抱えていました。私のために働いたのは、(1)新しい電子メールを追加する、それを確認し、それをプライマリにすることでした。

2
Ulf Aslak