[FIXED] Mejorar manejo de errores de dependencias en rate_update.py

- Usar advertencias en lugar de errores cuando falta pycountry
- Continuar la ejecución sin validación en lugar de detener el script
- Proporcionar instrucciones claras para instalar pycountry manualmente
- Evitar intentar instalar dependencias sin privilegios de administrador

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Mauro Rosero P. 2025-03-12 09:35:40 -05:00
parent c37ebb9854
commit 233fda5661
Signed by: mrosero
GPG key ID: 83BD2A5F674B7E26

View file

@ -42,24 +42,28 @@ def check_install_pycountry():
stderr=subprocess.PIPE) stderr=subprocess.PIPE)
if pip_check.returncode == 0: if pip_check.returncode == 0:
logger.info("Instalando la biblioteca pycountry...") logger.warning("La biblioteca pycountry no está instalada.")
try: logger.warning("Se continuará sin validación de códigos de país.")
subprocess.check_call([sys.executable, "-m", "pip", "install", "pycountry"]) logger.warning("Para habilitar la validación, instale pycountry manualmente:")
logger.info("Biblioteca pycountry instalada correctamente.") logger.warning(" sudo pip3 install pycountry")
except subprocess.CalledProcessError as e: logger.warning("O:")
logger.error(f"Error al instalar pycountry: {e}") logger.warning(" sudo apt-get install python3-pycountry")
logger.warning("Continuando sin validación de códigos de país.") return False
return False
else: else:
logger.error("pip no está instalado. No se puede instalar pycountry automáticamente.") logger.warning("pip no está instalado. No se puede instalar pycountry automáticamente.")
logger.error("Por favor, instale pip: sudo apt-get install python3-pip") logger.warning("Se continuará sin validación de códigos de país.")
logger.error("O instale pycountry manualmente: sudo apt-get install python3-pycountry") logger.warning("Para habilitar la validación, instale pycountry manualmente:")
sys.exit(1) logger.warning(" sudo apt-get install python3-pip")
logger.warning(" sudo pip3 install pycountry")
logger.warning("O:")
logger.warning(" sudo apt-get install python3-pycountry")
return False
except FileNotFoundError: except FileNotFoundError:
logger.error("No se pudo ejecutar pip. El sistema no puede encontrar el ejecutable de Python.") logger.warning("No se pudo ejecutar pip. El sistema no puede encontrar el ejecutable de Python.")
logger.error("Por favor, verifique su instalación de Python.") logger.warning("Se continuará sin validación de códigos de país.")
sys.exit(1) logger.warning("Para habilitar la validación, verifique su instalación de Python y pycountry.")
return False
# Intentamos importar pycountry # Intentamos importar pycountry
try: try: