Я только что повторно опубликовал один из своих пакетов, но для этого мне пришлось указать имя пользователя как __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
по-прежнему принимает имя пользователя и пароль.
🤔 А знаете ли вы, что...
С Python можно создавать настольные приложения с использованием библиотеки Tkinter.
Да, вам следует сгенерировать токен API и установить имя пользователя __token__
в файлах конфигурации. Так происходит уже некоторое время.
Объявлено здесь на PyPI.org, здесь на python.org.
Существует Использовать токены API по умолчанию для PyPI #561 на шпагате для отслеживания лучшего UX. twine
по-прежнему требует имя пользователя и пароль, а базовую аутентификацию невозможно полностью удалить из-за мест назначения, отличных от PyPI.