PyCharm ejecución y depuración

PyCharm ofrece potentes herramientas de ejecución y depuración que ayudan a los desarrolladores a ejecutar y solucionar problemas de código Python de manera eficiente. Esta sección detalla la configuración del entorno, la ejecución de scripts y las técnicas de depuración.

Configurar el entorno de ejecución

Configurar el intérprete de Python

Abrir la configuración del intérprete:Configuración → Proyecto → Intérprete de Python (Windows/Linux: Ctrl+Alt+S, Mac: ⌘,).

Seleccionar intérprete:

  • Entorno virtual(recomendado):Virtualenv / Conda / Pipenv

  • Intérprete del sistema: usa directamente el Python instalado

  • Intérprete remoto: conectar a un servidor o entorno Docker

Instalar paquetes de dependencias:

  • Haga clic en la interfaz del intérprete en+Buscar e instalar paquetes (comorequests)

  • o ejecutar a través de la terminalpip install package_name


Configurar parámetros de ejecución

Abrir la configuración de ejecución:

  • Barra de herramientas superior →Ejecutar → Editar configuraciones(Run → Edit Configurations)

  • o haga clic en el menú desplegable de configuración junto al botón de ejecución

Agregar configuración de Python:Haga clic en + → seleccione Python

Parámetros clave:

  • Ruta del script: seleccione el.pyarchivo

  • Parámetros (Parameters): ingrese los argumentos de línea de comandos (por ejemplo,--port 8000)

  • Directorio de trabajo: establezca el directorio actual al ejecutar el script

  • Variables de entorno: agregue variables de entorno personalizadas (por ejemplo,PYTHONPATH)

Guardar configuración:Haga clic en Aplicar → Aceptar.


Ejecutar scripts de Python

Ejecutar archivo único

Método 1: ejecutar con clic derecho:

  • Haga clic derecho en el editor →Ejecutar 'nombre de archivo'(Run 'filename')

Método 2: ejecutar desde la barra de herramientas:

  • Haga clic en el botón verde de ejecución ▶️ en la barra de herramientas superior

Método 3: ejecutar con atajos de teclado:

  • Shift + F10(ejecutar el archivo actual)

  • Ctrl + Shift + F10(ejecutar el archivo que se está editando actualmente)

Ejecución de módulos (ej. Flask/Django)

Configurar la ejecución de módulos:En la configuración de ejecución, seleccione el nombre del módulo en lugar de la ruta del script.

Por ejemplo:

  • Nombre del módulo:flask

  • Parámetros:run --port=5000

Ejecutar un módulo con parámetros:

# 例如运行 Django 开发服务器
python manage.py runserver 0.0.0.0:8000

En el campo "Parámetros" de la configuración de ejecución, ingrese: runserver 0.0.0.0:8000


Depurar código

Establecer puntos de interrupción

Agregar punto de interrupción:

  • Haga clic a la izquierda del número de línea (aparece un punto rojo)

  • Haga clic derecho en el punto de interrupción para establecer condiciones (por ejemplo,x > 10)

Tipos de puntos de interrupción:

  • Punto de interrupción de línea: pausa en la línea especificada

  • Punto de interrupción de excepción: pausa cuando se lanza una excepción (运行 → 查看断点 → 添加 Python 异常断点)

Iniciar depuración:

  • Haga clic en el🐞 Depurarbotón de la barra de herramientas

  • o atajo de tecladoShift + F9

Vigilancia de variables (Watches)

Ver variables:

  • Después de iniciar la depuración, en el变量(Variables)panel, vea los valores de las variables en el ámbito actual

  • Haga doble clic en una variable para editar su valor (para pruebas temporales)

Agregar vigilancia:

  • En监视(Watches)Haga clic en el panel+

  • Ingrese un nombre de variable o expresión (por ejemplo,len(items))

Operaciones de control de depuración

OperaciónAtajo (Win/Linux)Atajo (Mac)Descripción
Paso por encima (Step Over)F8F8Ejecuta la línea actual sin entrar en la función
Paso a paso (Step Into)F7F7Entra en la función para depurar
Salir (Step Out)Shift + F8⇧ + F8Ejecuta la función actual y regresa al punto de llamada
Continuar (Resume)F9⌘ + F8Continúa la ejecución hasta el siguiente punto de interrupción
Detener (Stop)Ctrl + F2⌘ + F2Finaliza la sesión de depuración

Consola de depuración (Debug Console)

Depuración interactiva:

  • Durante la depuración, puedeConsola de depuraciónejecutar código Python directamente

  • Por ejemplo: llamar a funciones temporalmente o modificar variables

  • Evaluar expresiones:

    • Seleccione código → clic derecho →评估表达式(Evaluate Expression)

    • o atajo de tecladoAlt + F8


    Técnicas avanzadas de depuración

    Depuración remota

    Configurar intérprete remoto:

    • 文件 → 设置 → Python 解释器 → 添加远程解释器

    • Soporta SSH, Docker y Vagrant

    Depurar código remoto:

    • Los puntos de interrupción y las operaciones de depuración son iguales que en la depuración local

    Depuración multiproceso

    Depuración de subprocesos:

    • Marque la opción en la configuración de ejecución在子进程中调试(Debug child processes)

    • Adecuado paramultiprocessingosubprocessescenarios

    Adjuntar a proceso:

    • 运行 → 附加到本地进程(Attach to Local Process)

    • Seleccione el proceso de Python en ejecución


    Solución de problemas comunes

    P1: ¿El punto de interrupción no funciona?

    • Verifique si el intérprete coincide con el entorno del proyecto

    • Asegúrese de que el código esté guardado (Ctrl + S)

    • Compruebe si el punto de interrupción está deshabilitado (el icono del punto de interrupción está gris)

    P2: ¿Cómo depurar pruebas unitarias?

    • Haga clic derecho en el archivo de prueba →Depurar 'nombre de prueba'

    • o usepytest / unittestconfiguración de ejecución dedicada

    P3: ¿Las variables muestran "Unknown" durante la depuración?

    • Optimice la estructura del código y evite expresiones demasiado complejas

    • UseWatchesagregue variables de vigilancia manualmente


    Atajos de depuración

    Escenario Operación
    Ejecutar rápidamente el archivo actual Shift + F10
    Iniciar depuración Shift + F9
    Punto de interrupción condicional Haga clic derecho en el punto de interrupción → establecer condiciones
    Ver valor de variable Durante la depuración, en elVariablespanel, vea
    Ejecutar código temporalmente Ingrese comandos en la consola de depuración
    Depuración multiproceso En la configuración de ejecución, marqueDebug child processes
    Otras extensiones