es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Problema de Python PDB en Jupyter Lab

Estoy utilizando pdb en jupyter lab, pero estoy observando un comportamiento extraño. Puedo ejecutar pdb, sin embargo, la línea actual de código no se muestra a medida que avanzo en el programa. Aquí tienes un ejemplo:

import os
import pdb

def test():

pdb.set_trace()
a = 4
b = 5

c = a*b

return c

test()

Al ejecutar este código de prueba y avanzar en el programa, se obtiene lo siguiente:

> c:\users\nale1\appdata\local\temp\ipykernel_17764\365146748.py(6)test()

ipdb>  n
> c:\users\nale1\appdata\local\temp\ipykernel_17764\365146748.py(7)test()

ipdb>  n
> c:\users\nale1\appdata\local\temp\ipykernel_17764\365146748.py(9)test()

ipdb>  n
> c:\users\nale1\appdata\local\temp\ipykernel_17764\365146748.py(11)test()

ipdb>  c
20

El depurador parece estar señalando a una ubicación incorrecta, lo que creo que puede ser la razón por la que no muestra la línea actual de código. La ruta en la que se encuentra este programa es:

os.getcwd()

'C:\Users\nale1\Documents\Coding\Python\Investments\portfolio_construction'

Creo que el error podría solucionarse si pdb apunta a la ubicación correcta, pero no estoy seguro de cómo implementar ese cambio, ni de si ese es realmente el problema. También puede estar relacionado con el hecho de que estoy operando en un entorno virtual. La versión de Python que estoy utilizando es la 3.8. ¡Gracias!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Es posible que el problema con pdb no mostrando la línea de código actual tenga que ver con el hecho de que estás ejecutando Jupyter Lab en un entorno virtual. Una solución a este problema podría ser activar el entorno virtual en la terminal antes de iniciar Jupyter Lab. Esto se puede hacer utilizando el siguiente comando:

    source /ruta/a/tu/entorno/virtual/bin/activate
    

    Una vez activado el entorno virtual, inicia Jupyter Lab y vuelve a intentar ejecutar el código con pdb. Esto asegurará que pdb esté apuntando a la ubicación correcta.

    Si esta solución no funciona, puede ser útil verificar si hay conflictos entre las versiones de Python u otros paquetes que estás utilizando. Puedes hacer esto ejecutando el siguiente comando en la terminal:

    pip freeze
    

    Esto te mostrará una lista de todos los paquetes y sus versiones que están instalados en tu entorno virtual. Puedes comparar esta lista con las versiones que son requeridas por Jupyter Lab y sus dependencias para ver si hay conflictos.

    Si sigues teniendo problemas, puede valer la pena buscar más apoyo de la comunidad de Jupyter Lab o de un experto en depuración de Python.

Comments are closed.