Я только что повторно опубликовал один из своих пакетов, но для этого мне пришлось указать имя пользователя как __token__
и использовать токен API, сгенерированный на веб-сайте, в качестве пароля. Есть ли другой способ аутентификации при публикации? Ошибка читается
100% ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 19.1/19.1 kB • 00:00 • 9.0 MB/s
WARNING Error during upload. Retry with the --verbose option for more details.
ERROR HTTPError: 403 Forbidden from https://upload.pypi.org/legacy/
Invalid or non-existent authentication information. See https://pypi.org/help/#invalid-auth for more information.
И если я зайду на эту страницу справки, там не будет упоминаний об именах пользователей и паролях, только токены аутентификации.
Когда я вошел в свою учетную запись, мне пришлось настроить 2FA и загрузить коды восстановления. Это подсказало мне, что PyPI, возможно, решил сделать все возможное для обеспечения безопасности. Я имею в виду, что это справедливо: если кто-то взломал популярный пакет, а затем миллионы из нас загрузили вредоносный код... дааа. Тем не менее, мне было немного неприятно это выяснять, потому что twine
по-прежнему принимает имя пользователя и пароль.
Так ответ ли это, что нет возможности использовать имя пользователя и пароль? Был ли об этом пресс-релиз? Пожалуйста, ответьте на вопрос с соответствующими источниками, и я приму его. Было бы неплохо, если бы twine
обновили, чтобы отразить изменения.
@PavelKomarov: twine
также работает со сторонними индексами пакетов (я использовал его для загрузки пакетов в корпоративное внутреннее репозиторий пакетов), поэтому удаление этой функциональности будет проблемой для людей, которые не публикуют пакеты в самом PyPI. Отсутствие поддержки имени пользователя и пароля в PyPI не имеет никакого отношения к тому, должен ли twine
поддерживать его или нет.
Я также использовал его для загрузки во внутренние репозитории пакетов. Я думаю, что организации сами решают, насколько безопасными они хотят быть, и PyPI стремится к максимуму, что имеет некоторый смысл. Я просто не получил записку.
Я считаю, что вы можете использовать .pypirc
, а также имя пользователя и пароль для публикации пакета.
Да, вам следует сгенерировать токен API и установить имя пользователя __token__
в файлах конфигурации. Так происходит уже некоторое время.
Объявлено здесь на PyPI.org, здесь на python.org.
Существует Использовать токены API по умолчанию для PyPI #561 на шпагате для отслеживания лучшего UX. twine
по-прежнему требует имя пользователя и пароль, а базовую аутентификацию невозможно полностью удалить из-за мест назначения, отличных от PyPI.
С 1 января осталось не так уж и много времени. Неудивительно, что я столкнулся с этим сейчас. Я связал некоторые другие вопросы, которые возникли первыми с этим вопросом, так что, надеюсь, другие найдут ваш ответ.
Так было уже некоторое время. Есть здесь реальный вопрос или просто пустая болтовня? (Я не отрицающий голос)