Lingua-e
Python

¿Qué significa CalledProcessError?

← Errores

subprocess.CalledProcessError se lanza cuando un subproceso llamado con check=True sale con un código de retorno distinto de cero. Lleva el código de retorno, el comando y opcionalmente stdout/stderr para que puedas diagnosticar qué salió mal.

Por qué ocurre

  • El comando del subproceso sale con un código de estado distinto de cero y check=True está configurado.
  • Una herramienta externa (git, docker, npm) falla debido a un problema de configuración o entorno.
  • El comando no se encuentra o carece de permiso de ejecución.
  • El subproceso es terminado por una señal (código de retorno negativo).

Ejemplos

Python

Código que causa el error

import subprocess
subprocess.run(["git", "push"], check=True)

Error en la terminal

subprocess.CalledProcessError: Command '['git', 'push']' returned non-zero exit status 1

Cómo solucionarlo

Usa check=False e inspecciona result.returncode manualmente para mayor control. Siempre establece capture_output=True con text=True para poder leer stderr en caso de fallo. Registra el comando completo, el código de retorno y la salida de stderr para diagnosticar la causa raíz.

Código corregido

import subprocess

result = subprocess.run(
    ["git", "push"],
    capture_output=True,
    text=True,
)
if result.returncode != 0:
    print("Push failed:", result.stderr)

Errores relacionados

¿Listo para practicar tu inglés en el trabajo?

Lingua-e tiene ejercicios interactivos basados en conversaciones reales de developers: standups, code reviews, retrospectivas y más. Practica hasta que salga solo.

Prueba Lingua-e gratis