PyPI больше не разрешает загрузку с использованием имени пользователя и пароля?

Я только что повторно опубликовал один из своих пакетов, но для этого мне пришлось указать имя пользователя как __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 по-прежнему принимает имя пользователя и пароль.

Так было уже некоторое время. Есть здесь реальный вопрос или просто пустая болтовня? (Я не отрицающий голос)

wim 27.08.2024 03:39

Так ответ ли это, что нет возможности использовать имя пользователя и пароль? Был ли об этом пресс-релиз? Пожалуйста, ответьте на вопрос с соответствующими источниками, и я приму его. Было бы неплохо, если бы twine обновили, чтобы отразить изменения.

Pavel Komarov 27.08.2024 03:40

@PavelKomarov: twine также работает со сторонними индексами пакетов (я использовал его для загрузки пакетов в корпоративное внутреннее репозиторий пакетов), поэтому удаление этой функциональности будет проблемой для людей, которые не публикуют пакеты в самом PyPI. Отсутствие поддержки имени пользователя и пароля в PyPI не имеет никакого отношения к тому, должен ли twine поддерживать его или нет.

ShadowRanger 27.08.2024 03:42

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

Pavel Komarov 27.08.2024 03:43

Я считаю, что вы можете использовать .pypirc, а также имя пользователя и пароль для публикации пакета.

M-Sarabi 27.08.2024 03:51
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
5
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Да, вам следует сгенерировать токен API и установить имя пользователя __token__ в файлах конфигурации. Так происходит уже некоторое время.

Объявлено здесь на PyPI.org, здесь на python.org.

Существует Использовать токены API по умолчанию для PyPI #561 на шпагате для отслеживания лучшего UX. twine по-прежнему требует имя пользователя и пароль, а базовую аутентификацию невозможно полностью удалить из-за мест назначения, отличных от PyPI.

С 1 января осталось не так уж и много времени. Неудивительно, что я столкнулся с этим сейчас. Я связал некоторые другие вопросы, которые возникли первыми с этим вопросом, так что, надеюсь, другие найдут ваш ответ.

Pavel Komarov 27.08.2024 03:54

Другие вопросы по теме