
Recibo este error en la búsqueda de pip mientras estudio Python. La imagen es un error cuando busco pip. ¿Puedes decirme cómo arreglarlo?
$ pip search pdbx ERROR: Exception: Traceback (most recent call last): File "*/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", line 224, in _main status = self.run(options, args) File "*/lib/python3.7/site-packages/pip/_internal/commands/search.py", line 62, in run pypi_hits = self.search(query, options) File "*/lib/python3.7/site-packages/pip/_internal/commands/search.py", line 82, 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 "*/lib/python3.7/site-packages/pip/_internal/network/xmlrpc.py", line 46, 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.'>el error dice
Utilice la API simple o JSON en su lugar
Puede probar pypi-simple para consultar el repositorio de pip
https://pypi.org/proyecto/pypi-simple/
También da un ejemplo, traté de usarlo aquí:
El objeto pypi-simple versión 0.8.0 DistributionPackage' no tiene el atributo 'get_digest' :
!/usr/bin/env python3 -*- coding: utf-8 -*- """ Created on Thu Nov 11 17:40:03 2020 @author: Pietro """ from pypi_simple import PyPISimple def simple(): package=input('\npackage to be checked ') try: with PyPISimple() as client: requests_page = client.get_project_page(package) except: print("\n SOMETHING WENT WRONG !!!!! \n\n", "CHECK INTERNET CONNECTION OR DON'T KNOW WHAT HAPPENED !!!\n") pkg = requests_page.packages[0] print(pkg) print(type(pkg)) print('\n',pkg,'\n') print('\n'+pkg.filename+'\n') print('\n'+pkg.url+'\n') print('\n'+pkg.project+'\n') print('\n'+pkg.version+'\n') print('\n'+pkg.package_type+'\n') #print('\n'+pkg.get_digest()+'\n','ENDs HERE !!!!') #wasnt working if __name__ == '__main__': simple()obtuve -4 hasta ahora para esta respuesta, no sé por qué, descubro que puedo intentar buscar un paquete con:
# package_name = input('insert package name : ') package_name = 'numpy' import requests url = ('https://pypi.org/pypi/'+package_name+'/json') r = requests.get(url) try: data = r.json() for i in data: if i == 'info': print('ok') for j in data[i]: if j == 'name': print((data[i])[j]) print([k for k in (data['releases'])]) except: print('something went south !!!!!!!!!!')El comando de búsqueda pip consulta los servidores de PyPI, y los mantenedores de PyPI han explicado que el punto final de la API que consulta el comando de búsqueda pip requiere muchos recursos y es demasiado costoso para mantenerlo siempre abierto al público. En consecuencia, a veces aceleran el acceso y en realidad planean eliminarlo por completo pronto.
Vea este hilo de problemas de GitHub ...
La solución que estoy usando por ahora es pip install pip-search (una utilidad creada por el usuario de GitHub @victorgarric).
Entonces, en lugar de 'búsqueda de pip', uso pip_search. Definitivamente supera la búsqueda de PyPI a través de un navegador web
busque en el sitio web, https://pypi.org/ , luego instale el paquete que desea