"Ответ сервера (401): Вы должны войти в систему, чтобы получить доступ к этой функции" при регистрации пакета в Pypi

Я пытаюсь зарегистрировать пакет на pyPI. После создания.pypirc, который выглядит как

[distutils] # this tells distutils what package indexes you can push to
index-servers =
  pypi
  pypitest

[pypi]
repository: https://pypi.python.org/pypi
username: "amfarrell"
password: "I dont post my passphrase publicly"

[pypitest]
repository: https://testpypi.python.org/pypi
username: "amfarrell"
password: "I dont post my passphrase publicly"

я бегу python setup.py register -r pypitest и я получаю сообщение об ошибке "Серверный ответ (401): вы должны войти в систему, чтобы получить доступ к этой функции". Как мне войти в pypi из терминала?

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

5 ответов

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

Проблема заключается в кавычках вокруг ключевой фразы в ~/.pypirc. Самый простой способ решить это просто mv ~/.pypirc ~/dot-pypirc и беги python setup.py register,

Судя по нескольким испытаниям,Server response (401): You must login to access this feature указывает на сбой аутентификации. Это происходит, когда либо:

  1. Ваши учетные данные неверны.
  2. Вы не создали учетную запись по указанному индексу.
  3. вы используете Python 3 и у вас есть% в вашем пароле - см. здесь для решения

Кавычки обрабатываются как часть пароля / имени пользователя, поэтому, как вы заметили, вы должны удалить их.

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

У меня была эта ошибка в Windows, и решением было установить переменную окружения HOME в каталог, где находится ваш файл.pypirc. Мой файл.pypirc выглядит так:

[pypirc]
servers = pypi
[server-login]
username:<USERNAME>
password:<PASSWORD>

Установите env-var и перезапустите терминал, и он должен работать.

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