Вчера, при попытке найти интересующий меня пакет через pip я получил довольно объёмное сообщение об ошибке xmlrpc.client.Fault.


Если убрать часть подробностей о стеке вызовов, то выглядело оно так:


$ pip search opencv
ERROR: Exception:
Traceback (most recent call last):
  File "/home/user/.local/lib/python3.6/site-packages/pip/_internal/cli/base_command.py", line 224, in _main
    status = self.run(options, args)
...
  File "/usr/lib64/python3.6/xmlrpc/client.py", line 656, in close
    raise Fault(**self._stack[0])
xmlrpc.client.Fault: <Fault -32500: 'RuntimeError: This API has been temporarily disabled due to unmanageable load and will be deprecated in the near future. Please use the Simple or JSON API instead.'>


Поиск сообщения об ошибке в интернете привел на страницу разработчиков pip с обсуждением неудачного API поиска пакетов, периодически приводящего к повышенной нагрузке на серверы. Запись, объясняющая причину появления ошибки, датирована 14 декабря 2020 года.

Если коротко, то на серверах, обслуживающих инфраструктуру хранения пакетов PyPI, в очередной раз возникла проблема, связанная с обработкой поисковых запросов. Поскольку улучшить ситуацию при нынешней реализации API не представляется возможным, поиск пакетов с помощью pip отключен на неопределённый срок. В качестве альтернативы предлагается использовать веб-поиск на https://pypi.org.