Рубрики
Без рубрики

Депорар Python Como Un Pro

Seguimos Con Serie De Posts Sobre Python. Sigo Con El Bootcamp de Data Science Y Машина Обучение … Теги с Python, программированием, отладкой, учебником.

Seguimos Con Serie De Posts Sobre Python. Sigo Con El Bootcamp de Data Science Y Машина Обучение DE Школа основного кода y en los últimos días hemos estado viendo cómo HACER Visualizaciones de datos Tremendamente Molonas Con TreamLit Отказ

Durante El Preceso de Creación de la Appleación Web Con Treamlit NoS Encontramos Con On Procementa Que Impedía Ver Los Datos. MientArs que itentábamos ver la case salió colación el tema de la depuración de código y algunos compañeros no sabían lo que aur.

Así que He Visto Una Oportunidad Magnífica de explicaar de Código, Por Qué Es útil y Código Hacerlo en las herramientas que unamos de manera mássous

Qué Es Demourar

Lo primero y másese es explicaar y entender qué es eso de depurar El Código O DEPURAR BUG ООН. También SE SUELE DECIR MUSTO HACER Отладка Del Código, Hacer Отладка o, en una españolización del Término, También puedes escuader alguna веза Debuggear Отказ

BáiCamente, DEPURAR ES RECORER ELTIVAMETAMETE UN Código Para Идентифицирован Your Corregir La Cassa de ООН.

Este Proceso Tiene Una Parte Muy Fuerte de HeadaCión Y Otra Parte Creativa. Нормамент Cuando VAS DEPURANDO NO Sabes Dónde Está El Fallo Y Por Eso Tiene Que Ir Rbando Y Recorriendo Todo. Mientras Vas depugrando, Tienes Que Ir Viendo Cómo Cambian TUS Переменные HASTA Que Vase Cuándo SE производят EL Comportamiento Anormal O Quieres Resolver.

Para Hacer Todo Esto, Tienes Mouseas Herramientas Que Te Ayudan Con El Preceso.

POR Qué Necesito Depurar

La Realidad Es Que нет Siempre Нецеситас Депорар, Перо Альгуна ВЭЗ Lo Necesitarás Sin Ninguna Duda Y, Cuando Eso Pase, Mejor Tener Las Herramientas Y Los Conocimientos.

ООН Método de Depuganación Muy Assistal ES Imprimir Mensajes Informativos PARA VER POR DONDE VA PASANDO EL CódiGo Y Qué Valores Van Tomanando Las Переменные. ООН EJEMPLO de Esto Es:

Ahí ves que Hay un Print Para ver el parámetro que se le pasa a la función, es a.lgo muy sencillo y pequeano pero ilustra lo que quiero decir.

Ejemplos de depuración.

Ahora voy ponerte un ejemplo de lo que es depurar en tiempo real , LO que se ve ya que que se veed

EN ESE Código Tengo Una Lista de Frases Típicas. Lo que hago es en for rec recorra la lista y le edplique un Cifrado César CADA UNA.

COMO PUEDES VER, A La Izquierda de la Pantalla Está lo Que que Se llama El “Инспектор”, En El Que Tienes Acceso CADA Переменная Y Al Valor Que Toma RU CADA Momento.

PARA QUE EL DEPURADOR SE PARE en una línea contreta de tu código tienes que poner lo que que llama un punto de interrupción (en rugles, точка останова ). Esto Se Hace Poniendo El Ratón A a La Izquierda de los números de línea y clicando donde aparece un puntito Rojo.

ESE Punto Está Sombreado Porque No Está Puesto, Cuando Clicas ahí se pone en un rojo más интенсив y Я. Значение Que Está Puesto:

Además, Cuanto La depuganión llega a una función, поуэдит-энтер Денро-де-Элла y depurar esa función paso a paso, como he hecho en el vídeo.

Ключать en en el busce que hay en la función que hake el cifrado puedes ruletra a a ver cómo va calculando el butevalado.

Con Este Método Podrías detectar ООН BUG EN TU Código Y Solucionarlo de Manera Más o Menos Sencilla.

Una Vez Que Sabes Qué ES DEPURAR, TE VOY A Enseñar Cómo Hacerlo EN LAS Herramientas Courcales que usamos выделять Core Отказ

DEPURAR RU VSCODE.

La Primera de ToDas Es, Cómo No, Visual Studio Code. También is la más sencilla de las que vas vis vis en en el post.

Si Te Fijas En La Barra Izquierda de VSCode, Puedes Ver Que Hay Un Botón Que es en signo de Играть Con uns insecto Encima (ru Ingles, un Bug ):

PúLSALO Y TE MOSTRARARA LA VISTA DE DEPURACHION. VSCODE CONTROLA LAS CONFIGURACIONES DE DEPURACHION CON ARCHIVO QUE SE LLAMA Launch.json y que se enceentra en la carpeta .vscode de tu proyecto.

Si es la primera vez que abre able la vista de depuración y no tienes ninguna configuración, verás una vista como esta:

Lo que harás será pulsar donde dice “Cree enchivo Launch.json”. LO GESTE ES EPUS EPULSES ESO MIETRARS TIENES ООН Archivo Abierto, Porce Así Vscode TE Sugerirá Configuraciones Para Depurar En Python, Como Ves Aquí:

COMO VES, VSCode Tiene Configuraciones Prefinidas Para Varias Opciones de Python Como Depurar Archivo, ООН Módulo O Frameworks Como Django, Flask o Fastapi.

EN ESTE Primer EJEMPLO VAS Эгир Python File Отказ Cuando Lo Seleciones, Te Creará un Archivo Launch.json Doctro de la Carpeta .vscode Con El Siguiente Contenido:

{
  // Use IntelliSense para saber los atributos posibles.
  // Mantenga el puntero para ver las descripciones de los existentes atributos.
  // Para más información, visite: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: Archivo actual",
      "type": "python",
      "request": "launch",
      "program": "${file}",
      "console": "integratedTerminal"
    }
  ]
}

Уна Вес que ese ene archivo está hardaado, puedes volver a la vista de depuración y verás a que te aparece una vista distinta a la de antes con una apción con el mismo nombre que aparece EN EL ATRIBUTO Имя de esej json.

Si Te Sige Apareciendo La Misma Vista Que Antes Para Crage Archivo Launch.json, Cierra Y Adre Vscode Para Que Apleique Los Cambios.

Una Vez Tienes Esto Configurado Y Algún Punto de RUPTURA PUESTO, YA PUEDES DARLE AL PLAY VERDE QUE APARECE EN LA VISTA DE DEPRACHION, A La Izquierda del Nombre de la Configuración:

ESO DEBERA LANZARTE LA DEPURACIN Y PARARSE EN EL PRIMER PUNTO DE RUPTURA QUE SE ENCEENTRE MIETRARS EJECUTA Эль Кудиго.

ООН ВЕЗ ПАРАДО, TE APARECERAN LOS LOLLALADOS CONTROLEDS DE DEPUGANACINON QUE TE VOY A DECALLAR AHORA:

  1. Seguir Hasta El Siguiente Punto de Interrupción. Reanuda La Ejecución Hasta Que Enguentre Otro Punto de Ruptura. Десять en cuenta que si el punto está decro de un bucle y le das Al Botón 1, SE Parará En Ese Mismo Punto, Pero En La Siguiente Vuelta Del Bucle.
  2. Saltar A La Siguiente Instrucción, Omitiendo Processimientos. Ejecuta La Instrucción. EN La Que Está Parado El DEPURADOR Actualmente Y Pasa La Siguiente. Десять en cuenta que ejecutar una instrucción implica que se pueden Actualizar Переменные, Mantén Siempre UN OJO EN La Parte de Inspección de Praybles (Barra Izquierda).
  3. Saltar a la siguiente Instrucción, Sin Omitir Processimientos. ESTO HACE ESTEACTE LO MIMSO QUE EL BOTON Анестерию, Salvo que. Salta a la siguiente Inserucción Inmediatamente. Puede Parecer Lo Mismo, Перо Хей Уна Дифсеренсия. Si Estás en una una línea que ejecuta una función, эль Ботон нет VA Antrear Doctro de la Función, Sino Que Va A omitirla (Omitir El Percuetimiento) Y Saltará a la siguiente. Este Botón Enterará Doctro. Aquí Puedes ver la diferencia:
  4. Продажа де ла Función que estás depugrando. Es estil si entrass en una función creyenco que justo estar el flancea ahí y cuando vas por la mitade ves que no está ahí ruptura o poner atro punto de ruptura o empezar de nuevo, simplemente sale de esa función y siges adelante. Si Estás en un código que No Dectro de Ninguna Función Y Sales, La Depuganación Continuará Hasta El Siguiente Punto de Interrupción, Como Si Hubieras Dado Al Botón 1.
  5. Рейтика Эль Проце де депорачион. Lo mismo que parar y volver a Empezar.
  6. Para El Preceso de DepugaCión. Para La Ejecución Sin Ejecutar Nada Más, нет Termina El Preceso de Manera Normal, Sino Que Corta La Ejecución.

Consejo de Pro: Exploora La Pestaña “Consola de depuración”. CuAndo Estás Parado en un puunto de Ruppura, Puades Ejecutar Código Python desde ahí y ver el russite desde inmediatamente. По наступлениям, произошлыми ошибками.

Депорар en jupyter.

AHORA QUE SABES DEPURAR EN VSCODE, VAMOS HORSAR CON JUPYTER. Lo cierto es que jupyter ноутбук нет правдивый hacer depugación pero Jupyter Lab. Sí.

Para Instalarlo Puades Seguir Las Инструменты для выделений Отказ Lo peedes instalar conda conda sinca.

Уна ВЕЗ Инсталадо, Hay Que Poner Un Par de Paquees de Python Y Alguna Extensión de Jupyter Lab.

Lo primero que vas instalar is un un jernel de python совместимый con depuración, en este caso Xeus Отказ Para Instalarlo, Ejecuta En Una Terminal:

conda install -c conda-forge xeus

Una Vez Está, Puedes Instalar La Extensión de Depuganación, Para Esto Ejecuta En Una Terminal:

jupyter labextension install @jupyterlab/debugger
jupyter lab build

Уна ВЕЗ Инсталада Л.А. Extensión Y Terminado El построить Ejecuta Jupyter Lab Con El Comando:

jupyter lab

Una Vez Lanzado Jupyter, ABRE EL Notebook Quieras Depurar. Ahora Tienes que Cambiar El Kernel de Python Al Que Hemos Instalado, XPython. ESTO Lo Peedes Cambiar El Selector De La Esquina Superior Frecha.

CUANDO CLIQUES, Debes ver una ventana para seleccionar el queer quieres quieres, elige xpython:

Ahora Verás que Hay 2 Cosas Nuevas, RelacionAdas Con Pro DepugaCión:

LO Primero es un unterfetor al lado de un unico de un insecto, y lo segundo es un botón con el mismo icons icon del insecto. Primero Activea El Interractor, ESO MOSTRARARA UNA BARRA PARA PONER PUNTOS de Interrupción Y Además Masterará Una Barra A La Izquierda Con Información Any a La Que Teníamos EN VSCode.

Poone Poner Puntos de Ruptura de la misma manera que en vscode, clicando a la izquierda del número de línea:

Уна ВЕЗ ТИЕНЭС EL PUNTO DE RUPTURA, PUEDES EJECUTAR LA CELDA de Manera Normal, Y SE Parará En El Punto:

A a la izquierda tienes lo mismo que había en vscode, El Inspector de Переменные, Los Mismos Botones Para Controllara La depuración y una lista de los puntos de Ruptura.

Si Pulsas El Botón Para Ejecutar La Inserucción engrando en funciones y la función Está en otra Celda, jupyter se encargará de que salte a la celda createa y siga la depugación normal.

DEPURAR REPTERLIT

Otra herramienta que usamos en core es TreamLit Отказ COMO También Puede. Диабельные ошибки al desarrollar una app de streamlit, vas aprender depurar eso también.

Lo único que hace falta es una configuración nueva para nuestro Launch.json Отказ

Si Lo Abres, Verás que la Propiedad конфигурации as un uns array. Ahí Puedes Poner Todas Las Configuraciones Que quieras. Ya Depes Tener una, Así Que Añade Esta:

{
      "name": "Python: Streamlit",
      "type": "python",
      "request": "launch",
      "module": "streamlit.cli",
      "args": [
        "run",
        "${file}",
      ],
}

Эль Намбре де ESA Configuración Será Python: TreamLit Decimos que la depuración es python y que vamos a lanzar algo. EN VEZ DE LANZAR ООН ARCHIVO COMO ARTES, AHORA LO QEE VAMOS A LANZAR ES ON Módulo, En Este Caso streamlit.cli que básicamente es el Intérprete de comandos de streamlit. Y, por último, vamos a pasarle al cli los argentos Запустить $ {file} Отказ

VSCode Sustituirá $ {file} пункт Эль Archivo que Tengas Abierto Al Lanzar ESA DEPURACIN. SI Нет Quieres que Sea Así y Siempre Quieres que lance El Mismo Archivo, Puedes Sustituir ESO POR EL Archivo Que Necesites.

ESA Configuración es equivalente llamar a TreamLit Run $ {file} Отказ

Ahora Solo Tendrás que poner tus puntos de interrupción y lanzar la depuración.

ДЕПУРАРНАЯ ФОЛСКА

DEPURAR FLASK ES Igual de Sencillo que repreamlit. Solo Necesitas Añadir Una Configuración de depugaCión al Launch.json Y Listo.

En Este Caso, Tienes Que Añadir:

{
    "name": "Python: Flask",
    "type": "python",
    "request": "launch",
    "module": "flask",
    "env": {
        "FLASK_APP": "app.py",
        "FLASK_ENV": "development",
        "FLASK_DEBUG": "0"
    },
    "args": [
        "run",
        "--no-debugger",
        "--no-reload"
    ],
    "jinja": true
},

Ahí lo que le dices es la configuración se llama Python: Колбу , que es de tipo python y que quieres lanzar un módulo, que es flask.

Con env SE PONEN UNA SERIE DE VARIABLES DE Entorno que leindan a ake akeivo tiene que ejecutar, en enceorno está y desactiva el modo de depuración (Porque Ya lo gestiona vscode).

Además, Igual que Antes, añade una serie de argentos al comando flask para configurar la ejecución y añade un parámetro Jinja que. ES EL MOTOR DE POLTILLAS QUE USA FLOABS, PARA PERMITIR DEPURAR ESO TAMBIÉN.

Si Tú нет VAS USAR PLOTILLAS , вытекает Eliminar Esa Opción.

De Nuevo, Уна ВЕЗ ТИЕНС ESO, соло Necesitas Activaar Tus Puntos de Ruptura y Ejecutar La depugación.

Выводит

Ahora Sabes Lo Que ES DEPURAR, POR QUÉ ES GESTANCE Y Cómo Hacerlo En Algunas Herramientas привычные Эль Desarrollo y En Python, Ya No Hey Quien TE Pare.

Recuerda dejar en los comentarios custquier duda o sugerencia que tengas y mirar los cursos de Core Отказ

Nos Wemos El Próximo Post!

Оригинал: “https://dev.to/alesanchez/depurar-python-como-un-pro-4f53”