Ejecute el comando CLI de Flask con el depurador de PyCharm

He creado un comando CLI personalizado en Flask, que puedo ejecutar a través de flask my_command en el terminal. Quiero ejecutar este comando usando el depurador de PyCharm.

Creé una configuración de “servidor Flask”, y ejecutarlo con el depurador de PyCharm se detiene en los puntos de interrupción que configuré dentro de las funciones de vista. Pero si bash ejecutar mi comando CLI desde el terminal de PyCharm, no se detiene en los puntos de interrupción del comando.

¿Necesito una configuración personalizada para depurar los comandos CLI personalizados? Encontré una pregunta sobre los comandos de Django, pero la configuración del “servidor Flask” de PyCharm no tiene las mismas opciones. ¿Cómo puedo configurar PyCharm para depurar un comando CLI de Flask?

La configuración del “servidor Flask” de PyCharm solo llama al comando flask run , no proporciona una forma de llamar a otros comandos. Para hacerlo, cree una configuración regular de “Python” que ejecute el comando flask con los argumentos que desee.

  • Crea una configuración de “Python” y dale un nombre.
  • Seleccione “Nombre del módulo” en lugar de “Ruta del script” y escriba el flask .
  • Rellene “Parámetros” con los argumentos para pasar. Por ejemplo my_command --option A
  • Edite las variables de entorno para incluir FLASK_APP=my_app y FLASK_ENV=development , de la misma forma que las usaría desde el terminal.
    • Es posible que también deba configurar “Directorio de trabajo” para que apunte al directorio de su proyecto, si su comando depende de dónde se ejecuta.

La ejecución de esta configuración con el depurador se detendrá en los puntos de interrupción en su comando CLI en lugar de ejecutar el servidor.