Using pip3 to install python modules

Hello,

I’m trying to create some python3 virtual environments on a raspberry pi 4.

whenever I use “pip3 search” to look for a module, I get an exception back:

(test-venv) pi@raspberrypi:~/python $ sudo pip3 search novas
Exception:
Traceback (most recent call last):
File “/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py”, line 143, in main
status = self.run(options, args)
File “/usr/lib/python3/dist-packages/pip/_internal/commands/search.py”, line 48, in run
pypi_hits = self.search(query, options)
File “/usr/lib/python3/dist-packages/pip/_internal/commands/search.py”, line 65, in search
hits = pypi.search({‘name’: query, ‘summary’: query}, ‘or’)
File “/usr/lib/python3.7/xmlrpc/client.py”, line 1112, in call
return self.__send(self.__name, args)
File “/usr/lib/python3.7/xmlrpc/client.py”, line 1452, in __request
verbose=self.__verbose
File “/usr/lib/python3/dist-packages/pip/_internal/download.py”, line 791, in request
return self.parse_response(response.raw)
File “/usr/lib/python3.7/xmlrpc/client.py”, line 1342, in parse_response
return u.close()
File “/usr/lib/python3.7/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.’>

The exception does not depend on the venv. (I get the same exception also outside the venv).

I’m working on Raspberry PI OS 10 (buster), python 3.7 pip 18.1

The error message says that pip3 has been disabled… (??)

https://docs.python.org/3/tutorial/venv.html and https://packaging.python.org/tutorials/installing-packages/#creating-virtual-environments say, however, that pip3 should work fine.

So I do not really know how to go on

Thank you very much for any help.

Use a web browser to search https://pypi.org/, then pip3 install <package name>

I did find the pip search command handy to find out whether a new package I’m creating has a name that already exists on PyPI. If the searching functionality on PyPI is just as good, then I’m happy to switch to that for this uncommon task.