martes, 19 de diciembre de 2017

¿Qué son los cuadernos de Jupyter?

Hoy inicio una serie de tutoriales sobre el uso de Jupyter Notebook como una tecnología para el desarrollo de Geo-Ciencias, espero sus comentarios:

Primera Parte:


En este caso, "cuaderno" o "documentos de cuaderno" indican documentos que contienen elementos de código y de texto enriquecido, como figuras, enlaces, ecuaciones ... Debido a la combinación de elementos de código y texto, estos documentos son el lugar ideal para reunir una descripción de análisis y sus resultados, así como también se pueden ejecutar, realizar el análisis de datos en tiempo real.
Estos documentos son producidos por la aplicación Jupyter Notebook.

Hablaremos de esto en un momento.
Por ahora, debe saber que "Jupyter" es un acrónimo suelto que significa Julia, Python y R. Estos lenguajes de programación fueron los primeros idiomas de destino de la aplicación Jupyter, pero hoy en día, la tecnología de notebook también admite muchos otros idiomas . 
Y ahí lo tiene: el Cuaderno Jupyter.
Como acabas de ver, los principales componentes de todo el entorno son, por un lado, los propios cuadernos y la aplicación. Por otro lado, también tiene un núcleo de portátil y un tablero de instrumentos.
Veamos estos componentes con más detalle.
¿Qué es la aplicación Jupyter Notebook?
Como aplicación cliente-servidor, la aplicación Jupyter Notebook le permite editar y ejecutar sus computadoras portátiles a través de un navegador web. La aplicación se puede ejecutar en una PC sin acceso a Internet o puede instalarse en un servidor remoto, donde puede acceder a ella a través de Internet.
Sus dos componentes principales son los núcleos y un tablero.
Un kernel es un programa que ejecuta e introspecta el código del usuario. La aplicación Jupyter Notebook tiene un núcleo para el código Python, pero también hay núcleos disponibles para otros lenguajes de programación.
El panel de la aplicación no solo muestra los documentos del cuaderno que ha creado y puede volver a abrir, sino que también se puede utilizar para administrar los kernels: puede ver cuáles se están ejecutando y cerrarlos si es necesario.
La historia de los portátiles de IPython y Jupyter
Para entender completamente qué es Jupyter Notebook y qué funcionalidad tiene para ofrecer, es necesario que sepa cómo se originó. 
Retrocedamos brevemente a fines de la década de 1980. Guido Van Rossum comienza a trabajar en Python en el Instituto Nacional de Investigación de Matemáticas e Informática en los Países Bajos.
Espera, tal vez eso es demasiado lejos.
Vayamos a fines de 2001, veinte años después. Fernando Pérez comienza a desarrollar IPython.
En 2005, tanto Robert Kern como Fernando Pérez intentaron construir un sistema de computadora portátil. Desafortunadamente, el prototipo nunca se volvió completamente utilizable.
Avance rápido de dos años: el equipo de IPython siguió trabajando, y en 2007, formularon otro intento de implementar un sistema de tipo portátil. Para octubre de 2010, había un prototipo de un cuaderno web y en el verano de 2011, este prototipo se incorporó y se lanzó con 0.12 el 21 de diciembre de 2011. En los años siguientes, el equipo recibió premios, como el Avance de la libertad. Software para Fernando Pérez el 23 de marzo de 2013 y el Jolt Productivity Award, y financiación de Alfred P. Sloan Foundations, entre otros. 
Por último, en 2014, el Proyecto Jupyter comenzó como un proyecto derivado de IPython. IPython ahora es el nombre del backend de Python, que también se conoce como kernel. Recientemente, la próxima generación de Jupyter Notebooks ha sido presentada a la comunidad. Se llama JupyterLab. Lea más sobre esto aquí .
Después de todo esto, quizás se pregunte de dónde se originó esta idea de los cuadernos o cómo surgió para los creadores.
Una breve investigación sobre la historia de estos cuadernos aprende que Fernando Pérez y Robert Kern estaban trabajando en un cuaderno al mismo tiempo que el cuaderno Sage era un trabajo en progreso. Dado que el diseño del cuaderno Sage se basó en el diseño de los cuadernos de Google, también puede concluir que también Google solía tener una función de cuaderno en ese momento. 
Por lo que respecta a la idea del cuaderno, parece que Fernando Pérez, así como William Stein, uno de los creadores del cuaderno Sage, han confirmado que eran ávidos usuarios de los cuadernos de Mathematica y las hojas de cálculo de Maple. Los cuadernos de Mathematica fueron creados como front-end o GUI en 1988 por Theodore Gray. 
El concepto de un cuaderno, que contiene texto ordinario y cálculos y / o gráficos, definitivamente no era nuevo. 
Además, los desarrolladores tuvieron un estrecho contacto entre ellos y esto, junto con otros intentos fallidos de GUI para IPython y el uso de "AJAX" = aplicaciones web, que no requirió que los usuarios actualizaran la página entera cada vez que hacía algo, fueron otras dos motivaciones para que el equipo de William Stein comenzara a desarrollar los cuadernos Sage. 
Si desea conocer más detalles, consulte las cuentas personales de Fernando Pérez y William Stein sobre la historia de sus cuadernos. Alternativamente, puedes leer más sobre la historia y la evolución desde IPython hasta los portátiles Jupyter aquí .
Cómo instalar Jupyter Notebook


Ejecutando Jupyter Notebooks con Anaconda Python Distribution
Uno de los requisitos aquí es Python, Python 3.3 o superior o Python 2.7. La recomendación general es que use la distribución de Anaconda para instalar Python y la aplicación de notebook. 
La ventaja de Anaconda es que tiene acceso a más de 720 paquetes que pueden instalarse fácilmente con la conda de Anaconda, un paquete, una dependencia y un administrador de entorno. Puede descargar y seguir las instrucciones para la instalación de Anaconda aquí . 
¿Hay algo no claro? Siempre puede leer las instrucciones de instalación de Jupyter  aquí .
Ejecución de Jupyter Notebook The Pythonic Way: Pip
Si no quiere instalar Anaconda, solo tiene que asegurarse de tener la última versión de pip. Si ha instalado Python, normalmente ya lo tendrá.
Lo que debes hacer es actualizar pip:

# On Windows
python -m pip install -U pip setuptools
# On OS X or Linux
pip install -U pip setuptools

Algunos ejemplos: