web-dev-qa-db-ja.com

「setup.pyupload」が「Uploadfailed(401):パッケージ情報を編集するにはIDが必要です」で失敗します

実行中..

python setup.py sdist register upload

..次の出力が得られます。

running register
We need to know who you are, so please choose either:
 1. use your existing login,
 2. register as a new user,
 3. have the server generate a new password for you (and email it to you), or
 4. quit
Your selection [default 1]:  1
Username: example
Password: ...
Registering mypackage to http://pypi.python.org/pypi
Server response (200): OK
I can store your PyPI login so future submissions will be faster.
(the login will be stored in /Users/dbr/.pypirc)
Save your login (y/N)?y
running upload
Submitting dist/mypackage-1.2.1.tar.gz to http://pypi.python.org/pypi
Upload failed (401): You must be identified to edit package information

~/.pypircにすでにログイン情報が含まれているにもかかわらず、ログイン情報を保存するように求められます。その後、私が所有するパッケージのファイルのアップロードに失敗し、完全な書き込みアクセス権があります。

46
dbr

見つかったばかり このページ 、これで問題が解決します:

また、ログイン情報を保存するように求められ、毎回Yを押すと、ユーザー名とパスワードの入力を求められることに気付きました。次のように情報が誤って保存されていることが判明しました。

[pypi]
username:dcramer
password:*******

これに変更すると、問題が解決しました。

[server-login]
username:dcramer
password:********

上記の内容は .pypirc file ユーザーのホームディレクトリにあります。

うーん..これは 配布 試してみるのに良い時期かもしれないと思います。

61
dbr

ここにリストされている〜/ .pypircへの変更はどれも私にはうまくいきませんでした。

これは私にとってはうまくいきましたが、〜/ .pypircに変更はありませんでした。コマンドラインに「-r https://www.python.org/pypi "」を追加しました。

python setup.py register sdist upload -r https://www.python.org/pypi

私の〜/ .pypircは次のようになります

[distutils]
index-servers: pypi

[pypi]
username: dlink
password: ******** (the real one)
19
dlink

私は同じ問題を抱えています、これが私の解決策です。

pythonバージョンは2.7.7、私のWindowsバージョンはWindows-7-6.1.7601-SP1です。

これが私の.pypircファイルです

[distutils]
index-servers=pypi

[pypi]
repository = https://pypi.python.org/pypi

[server-login]
username = user
password = password

注意:

Windowsでは、「。pypirc」、plzという名前のファイルは許可されていません。以下を参照してください。

Windowsではファイルの名前を空のファイル名に変更します

次に、「。pypirc」ファイルを「setup.py」と同じフォルダーに配置します

やっと:

実行:

python setup.py sdist upload

または:

python setup.py sdist register upload

これがお役に立てば幸いです、ありがとう!

4
kongyue

最初のコメントの最後の過去が示唆しているように、私はこの問題を抱えており、ファイル.pypircをホームディレクトリ(〜/)の下に置くことで解決しました。

最初のコメントでも示唆されているように、「server-login」のファイルpypircのセクション「pypi」の名前を変更する必要はありませんでした。

1
Jasg

私が変更され [distutils]から[pypirc]docs のように、これは私にとってはうまくいきました。

これが私の~/.pypircファイル:

[pypirc]
index-servers =
    pypi
    pypitest

[pypi]
repository=https://pypi.python.org/pypi

[pypitest]
repository=https://testpypi.python.org/pypi

[server-login]
username:stav
password:****
0
Steven Almeroth

私自身のせいでこの問題が発生しましたが、これが同じ間違いを犯した他の誰かに役立つことを願っています。

LinuxUbuntuでpython 3を使用していますが、登録時にSudoを使用してセットアップコマンドを発行しました!その結果、ホームディレクトリの.pypircファイルはrootが所有しており、読み取りができませんでした。非特権ユーザーとして直後にモジュールのアップロードを実行しようとしています。

ファイルの所有権を自分自身に変更することで、問題は解決しました。

0
Mortoman