"Ответ сервера (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
указывает на сбой аутентификации. Это происходит, когда либо:
- Ваши учетные данные неверны.
- Вы не создали учетную запись по указанному индексу.
- вы используете Python 3 и у вас есть% в вашем пароле - см. здесь для решения
Кавычки обрабатываются как часть пароля / имени пользователя, поэтому, как вы заметили, вы должны удалить их.
Я хотел бы добавить к ответам, приведенным выше, я также столкнулся с той же проблемой, но в моем случае причина была из-за непроверенной учетной записи. Поэтому я предлагаю любому новому пользователю учетной записи pypi, пожалуйста, проверьте свою электронную почту и подтвердите свою учетную запись, нажав на ссылку, указанную в проверочном письме. Это может решить проблему.
У меня была эта ошибка в Windows, и решением было установить переменную окружения HOME в каталог, где находится ваш файл.pypirc. Мой файл.pypirc выглядит так:
[pypirc]
servers = pypi
[server-login]
username:<USERNAME>
password:<PASSWORD>
Установите env-var и перезапустите терминал, и он должен работать.