Acelera los experimentos con Jupyter
Las iteraciones rápidas son esenciales para probar conceptos, descartar malas ideas y enfocarse en lo que realmente puede resolver nuestro problema.
Cuando comencé a usar Python, usé scripts para todo. Los scripts son increíbles para automatizar cosas y pueden integrarse fácilmente en programas más grandes. Funcionan, pero ¿son perfectos?
Definitivamente introducen algunos problemas, lo que los mantiene separados de esa categoría. Algunos de ellos son:
- Cuando está cambiando rápidamente el código, es posible que necesite refactorizar muchas cosas. Un guión desorganizado tendrá muchos comentarios y tan pronto como deje de trabajar en él, olvidará la mayor parte de lo que estaba tratando de hacer, lo que hace que sea más difícil «volver y terminar».
- Los resultados se muestran (probablemente) en el shell o en otra ventana que configuró para eso (en el caso de los gráficos). Esta acción de saltar puede dañar su enfoque, y el tiempo perdido se acumula gradualmente.
- Si organiza su guión, es posible que pueda centrarse en ciertas piezas que desea mejorar. Sin embargo, es posible que no desee ejecutar todo el script cada vez. La mayoría de las veces desea mejorar algunas piezas, pero debe ejecutar todo una y otra vez porque necesita los pasos anteriores. Hay formas de evitar esto, pero en general, es simplemente molesto.
¿Qué pensarías si te dijera que hay alguna herramienta que puede permitirte seguir probando cosas rápidamente, sin sacrificar los beneficios de los scripts? ¿Que hay un método sólido y bien conocido que las personas usan en todas partes? Conoce Jupyter.
Hay varias formas de instalar jupyter y comenzar a usar la herramienta. En este caso, asumiremos que solo puede instalarlo a través de pip, pero esa puede no ser la forma más fácil y puede tener algunos requisitos antes de poder trabajar con ella:
pip install jupyter
Jupyter tiene el concepto de «notebooks». Esos son archivos que se pueden ver como «scripts jupyter». Para verlos, editarlos y ejecutarlos, necesitará jupyter.
Para comenzar, ejecutemos el servidor jupyter. Ah, olvidé mencionarlo, ¡puedes ejecutar todo desde tu navegador favorito!
jupyter notebook
Puede crear sus notebooks en esta interfaz. Es tan fácil como hacer clic en «Nuevo» y seleccionar «Python». Jupyter puede crear notebooks en otros idiomas, pero lo veremos en otra ocasión.
Tienes una «celda». Los notebooks están hechos de celdas, y puede ejecutar cualquier código de Python que desee en cada celda. De hecho, puede tener todo en una sola celda, pero eso no es algo que desee. Es una mejor práctica tener todo lo más separado posible.
Por ejemplo, si está importando datos de Internet (proceso lento) y desea procesar esos datos una vez que estén listos, coloque esas acciones en celdas separadas. Luego, ejecútelos por separado.
Con este enfoque, podrá concentrarse en el paso de «procesamiento» sin perder tiempo importando los mismos datos una y otra vez.
Una vez que haya terminado de implementar lo que sea que estaba trabajando, puede ir a Archivo> Descargar como> Python, y tendrá un script que simplemente funciona. Puede requerir cierta refactorización para mejorar su reutilización y legibilidad, pero es solo una cuestión de forma, no de funcionalidad.
Una gran ventaja de jupyter es que puede ver resultados inmediatamente, en el mismo flujo de trabajo. Puede obtener información sobre sus variables, gráficos tomados de sus datos o imágenes de sus resultados intermedios en una pipeline de procesamiento de imágenes digitales. Esta flexibilidad hace que Jupyter sea la herramienta preferida para muchas personas que trabajan con datos.
Esto es tan ampliamente adoptado que si carga un archivo de notebook en github después de que se haya ejecutado, ¡obtendrá sus resultados!
Pruébalo, ¡definitivamente no te arrepentirás!