Ошибка загрузки setup.py с ошибкой загрузки (401): вы должны быть идентифицированы, чтобы редактировать информацию о пакете

При беге..

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 уже содержит это. Затем ему не удается загрузить файлы для пакета, которым я владею, и к которому у меня есть полный доступ для записи.


person dbr    schedule 14.10.2009    source источник
comment
Та же ошибка в setuptools для 2.7. Попробуйте использовать Python 2.6.   -  person DenisKolodin    schedule 09.09.2010


Ответы (7)


Только что нашел эту страницу, что решает проблему:

Я также заметил, что, хотя он просил меня сохранить мою регистрационную информацию, и я каждый раз нажимал Y, он все еще запрашивал у меня имя пользователя и пароль. Выяснилось, что он неправильно сохранял информацию следующим образом:

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

Изменение его на это решило проблемы:

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

Приведенный выше контент помещается в файл .pypirc в домашнем каталоге пользователя.

Тьфу... Думаю, сейчас самое время попробовать distribute...

person dbr    schedule 14.10.2009
comment
Это исправление сработало и для меня, спасибо. Похоже на ошибку в distutils? - person Chris Miles; 31.03.2010
comment
@Chris Вполне вероятно .. Не замечал этого в последнее время (может быть исправлено), но в последнее время я редко использую distutils - person dbr; 31.03.2010
comment
Я только что провел 2 с лишним часа в погоне за призраками, а потом увидел восход солнца через окно своего офиса из-за последствий этого нелепого жука. Я на Python 2.6, кстати. - person dkamins; 09.06.2011
comment
распространение не помогает, я сталкиваюсь с той же проблемой с распространением с Python2.7 - person Fang-Pen Lin; 14.07.2011
comment
Где тот файл, в котором он сохраняет эту информацию? (на винде?) - person Craig McQueen; 11.07.2012
comment
@CraigMcQueen Не уверен, но попробуйте проверить, где отображается os.path.expanduser("~") или, может быть, os.environ['APPDATA']? - person dbr; 12.07.2012
comment
Файл .pypirc, я нашел его в корне папки «Пользователи» в Windows (что соответствует os.path.expanduser("~")), но добавление туда информации ничего не исправило. Удаление раздела [pypi] вызвало ошибку в ConfigParser. Исправлено на этот вопрос: вам нужна переменная среды HOME в Windows, которая указывает на папку с файлом. - person Tom; 12.11.2012
comment
Файл, в котором это находится (для меня), был ~/.pypirc. Может быть полезно отметить. - person Patrick Perini; 25.02.2013
comment
В Windows, если вы используете Блокнот для создания файла .pypirc, он автоматически сохранится как .pypirc.txt. Используйте командную строку, чтобы переименовать его в `pypirc' без расширения. - person Eric W.; 20.08.2014
comment
Я ходил по кругу с этим, прежде чем, наконец, случайно обнаружил, что HOME не был установлен на том месте, где он должен был быть. Итак, у меня было 2 файла .pypirc, один в том месте, где я знал, что это моя домашняя папка, потому что я так настроил все свои машины, и тот, который был установлен на самом деле. Тот, который нашел python setup.py, оказался неправильным. :-/ - person matt wilkie; 26.11.2014
comment
Вы говорите, что мне нужно хранить свой пароль в виде простого текста в файле? - person cs01; 07.11.2016

Ни одно из перечисленных здесь изменений в ~/.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)
person dlink    schedule 18.06.2016
comment
Я не могу понять почему, но кажется, что ваш пример работает так, как предполагает. Спасибо - person vskubriev; 01.07.2016
comment
Он работает даже без пароля, сохраненного в .pypirc. Вместо этого вас спросят. - person Rotareti; 25.11.2016

У меня такая же проблема, это мое решение.

Версия 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», пожалуйста, обратитесь к:

Переименовать файлы в пустые имена файлов в Windows

Затем поместите файл «.pypirc» в ту же папку, что и «setup.py».

В конце концов:

бежать :

python setup.py sdist upload

or:

python setup.py sdist register upload

Я надеюсь, что это будет помощь, спасибо!

person kongyue    schedule 19.12.2014

У меня есть эта проблема, и я решил ее, поместив файл .pypirc в мой домашний каталог (~/), как предполагает последнее прошлое первого комментария.

У меня не было необходимости изменять имя раздела «pypi» файла pypirc для «server-login», как было предложено также в первом комментарии.

person Jasg    schedule 01.04.2015

Я изменил [distutils] на [pypirc] в соответствии с документами, и это работал на меня.

Вот мой файл ~/.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:****
person Steven Almeroth    schedule 28.03.2016

У меня была эта проблема по моей собственной вине, но, надеюсь, это может помочь кому-то другому, который совершает ту же ошибку.

Я использую python 3 на Linux Ubuntu, при регистрации я ввел команду установки, используя sudo! В результате файл .pypirc в моем домашнем каталоге принадлежал пользователю root и не был доступен для чтения при попытке выполнить загрузку модуля сразу после того, как непривилегированный пользователь.

Сменив владельца файла на себя, проблема была решена.

person Mortoman    schedule 10.12.2016

Я столкнулся с той же проблемой. У меня новая OS X Sierra. Добавление записи [server-login] в ~/.pypirc, казалось, исправило это.

http://www.seanbehan.com/how-to-fix-pypi-upload-failed-403-invalid-or-non-existent-authentication-information/

person seanbehan    schedule 02.03.2017
comment
Это уже упоминается в нескольких более полных ответах. Кроме того, вы отвечаете только на граничные ссылки. - person Baum mit Augen; 03.03.2017