Cómo instalar y configurar Jupyter Notebook

¿Qué es Jupyter Notebook?

Jupyter Notebook es una herramienta basada en web de código abierto extremadamente poderosa que facilita la creación de documentación. Hay muchas vías diferentes para proporcionar documentación técnica o demostraciones, pero Jupyter Notebook hace posible incrustar visualizaciones y ejecutar código en vivo. Es útil poder utilizar la documentación para describir los conceptos de desarrollo o la planificación, pero proporcionar ejemplos de trabajo dentro de la documentación puede ser una forma más eficaz de transmitir información. Este tutorial cubrirá cómo instalar Jupyter Notebook en un servidor Ubuntu 18.04 LTS y conectarse a él de forma remota a través de un túnel SSH.

Comprobación previa al vuelo:

  • Este tutorial se realiza en un servidor Ubuntu 18.04 LTS autoadministrado como usuario raíz.
  • Este tutorial asume que tiene una instalación funcional de Python 3 en su servidor y algunos medios para crear un entorno virtual de Python.

Si tiene curiosidad acerca de cómo comenzar con cualquiera de estos temas, consulte estos artículos sobre cómo instalar Python en Ubuntu o cómo configurar un entorno virtual de Python en Ubuntu.

Actualizar el entorno

Siempre es una buena idea asegurarse de que los paquetes del sistema estén actualizados antes de comenzar cualquier esfuerzo del sistema Linux. Ejecute el siguiente comando para actualizar los paquetes del sistema:

                      
                        [email protected]:~# apt update -y
                      
                    

Configurar entorno virtual

Lo primero que debe hacer es configurar un entorno virtual de Python para instalar el paquete Jupyter. Es una buena práctica mantener las dependencias del proyecto encapsuladas dentro de entornos virtuales cuando se trabaja con Python. Evita que Python a nivel del sistema tenga paquetes extraños y hace que la gestión de dependencias dentro del proyecto sea más sencilla.

Para configurar un entorno virtual para Jupyter Notebook, ejecute el siguiente comando:

                      
                        [email protected]:~# python3 -m venv jupyter
                      
                    

Una vez que haya terminado, active el entorno virtual ejecutando:

                      
                        [email protected]:~# source jupyter/bin/activate
(jupyter) [email protected]:~#
                      
                    

Instale el paquete Jupyter

Ahora que el entorno está listo, el siguiente paso es instalar el paquete Jupyter. Jupyter es un paquete de Python. Para instalarlo, estamos usando pip para activar el entorno virtual.

                      
                        (jupyter) [email protected]:~# python3 -m pip install jupyter
Collecting jupyter
  Downloading https://files.pythonhosted.org/packages/83/df/0f5dd132200728a86190397e1ea87cd76244e42d39ec5e88efd25b2abd7e/jupyter-1.0.0-py2.py3-none-any.whl
Collecting jupyter-console (from jupyter)
  Downloading https://files.pythonhosted.org/packages/65/de/8f9491c4b7e660a75a4eb54694292d918d2d29321936d26bad28cc0530a4/jupyter_console-6.2.0-py3-none-any.whl
Collecting ipywidgets (from jupyter)
  Downloading https://files.pythonhosted.org/packages/56/a0/dbcf5881bb2f51e8db678211907f16ea0a182b232c591a6d6f276985ca95/ipywidgets-7.5.1-py2.py3-none-any.whl (121kB)
    100% |████████████████████████████████| 122kB 1.8MB/s
Collecting ipykernel (from jupyter)
...
Successfully installed MarkupSafe-1.1.1 Send2Trash-1.5.0 argon2-cffi-20.1.0 attrs-20.2.0 backcall-0.2.0 bleach-3.1.5 cffi-1.14.2 decorator-4.4.2 defusedxml-0.6.0 entrypoints-0.3 importlib-metadata-1.7.0 ipykernel-5.3.4 ipython-7.16.1 ipython-genutils-0.2.0 ipywidgets-7.5.1 jedi-0.17.2 jinja2-2.11.2 jsonschema-3.2.0 jupyter-1.0.0 jupyter-client-6.1.7 jupyter-console-6.2.0 jupyter-core-4.6.3 mistune-0.8.4 nbconvert-5.6.1 nbformat-5.0.7 notebook-6.1.4 packaging-20.4 pandocfilters-1.4.2 parso-0.7.1 pexpect-4.8.0 pickleshare-0.7.5 prometheus-client-0.8.0 prompt-toolkit-3.0.7 ptyprocess-0.6.0 pycparser-2.20 pygments-2.6.1 pyparsing-2.4.7 pyrsistent-0.17.0 python-dateutil-2.8.1 pyzmq-19.0.2 qtconsole-4.7.7 qtpy-1.9.0 six-1.15.0 terminado-0.8.3 testpath-0.4.4 tornado-6.0.4 traitlets-4.3.3 wcwidth-0.2.5 webencodings-0.5.1 widgetsnbextension-3.5.1 zipp-3.1.0
                      
                    

Ejecute el cuaderno Jupyter

                      
                        (jupyter) [email protected]:~# jupyter notebook --allow-root
[I 23:58:00.086 NotebookApp] Serving notebooks from local directory: /root
[I 23:58:00.087 NotebookApp] Jupyter Notebook 6.1.4 is running at:
[I 23:58:00.087 NotebookApp] https://localhost:8888/?token=8c42c6688b11e755bcc9afa8417cda781c9f0db9b9723f26
[I 23:58:00.087 NotebookApp] or https://127.0.0.1:8888/?token=8c42c6688b11e755bcc9afa8417cda781c9f0db9b9723f26
[I 23:58:00.087 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 23:58:00.090 NotebookApp] No web browser found: could not locate runnable browser.
[C 23:58:00.090 NotebookApp]

    To access the notebook, open this file in a browser:
        file:///root/.local/share/jupyter/runtime/nbserver-18411-open.html
    Or copy and paste one of these URLs:
        https://localhost:8888/?token=8c42c6688b11e755bcc9afa8417cda781c9f0db9b9723f26
     or https://127.0.0.1:8888/?token=8c42c6688b11e755bcc9afa8417cda781c9f0db9b9723f26
    Or copy and paste one of these URLs:
https://localhost:8888/?token=8c42c6688b11e755bcc9afa8417cda781c9f0db9b9723f26
     or https://127.0.0.1:8888/?token=8c42c6688b11e755bcc9afa8417cda781c9f0db9b9723f26
                      
                    

Si Jupyter Notebook se instaló previamente de forma local, sería posible copiar y pegar una de las URL proporcionadas en un navegador y comenzar. Para conectarse a este Jupyter Notebook que se ejecuta en un servidor remoto, será necesario usar SSH Tunneling. Elimine el Jupyter Notebook por ahora manteniendo presionadas las teclas CTRL + C e ingresando y en el aviso.

Conéctese a través del túnel SSH (Linux o macOS)

Si está utilizando un servidor de Windows, considere utilizar el subsistema Linux para ejecutar estas instrucciones. Para reenviar un puerto local al host remoto, la aplicación Jupyter Notebook ejecuta el siguiente comando.

                      
                        ssh -L 8000:localhost:8888 [email protected]
                      
                    

Reemplace el nombre de host en el comando anterior con la IP o el nombre de host de su servidor remoto. Esto debería iniciar sesión de nuevo en su servidor.

                      
                        [email protected] ~ ssh -L 8000:localhost:8888 [email protected]
Last login: Wed Sep 9 00:02:50 2020 from 10.255.233.139
[email protected]:~#
                      
                    

Ejecutar y usar Jupyter Notebook

Una vez que se haya vuelto a conectar al servidor, inicie la aplicación Jupyter Notebook activando primero el entorno virtual.

                      
                        [email protected]:~# source jupyter/bin/activate
(jupyter) [email protected]:~#
                      
                    

Luego, vuelva a ejecutar la aplicación:

                      
                        (jupyter) [email protected]:~# jupyter notebook --allow-root
[I 00:10:55.994 NotebookApp] Serving notebooks from local directory: /root
[I 00:10:55.995 NotebookApp] Jupyter Notebook 6.1.4 is running at:
[I 00:10:55.995 NotebookApp] https://localhost:8888/?token=c4d32d1701bccfdf8049be9832e1ef420f101402b11c0da8
[I 00:10:55.995 NotebookApp] or https://127.0.0.1:8888/?token=c4d32d1701bccfdf8049be9832e1ef420f101402b11c0da8
[I 00:10:55.995 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 00:10:55.998 NotebookApp] No web browser found: could not locate runnable browser.
[C 00:10:55.998 NotebookApp]

    To access the notebook, open this file in a browser:
        file:///root/.local/share/jupyter/runtime/nbserver-18474-open.html
    Or copy and paste one of these URLs:
        https://localhost:8888/?token=c4d32d1701bccfdf8049be9832e1ef420f101402b11c0da8
     or https://127.0.0.1:8888/?token=c4d32d1701bccfdf8049be9832e1ef420f101402b11c0da8
                      
                    

Ahora es posible tomar una de las URL proporcionadas en la salida, cambiar el puerto al puerto reenviado local y acceder a la aplicación Jupyter Notebook a través del navegador en su máquina local. Para example:

                      
                        https://localhost:8000/?token=c4d32d1701bccfdf8049be9832e1ef420f101402b11c0da8
                      
                    

Una vez conectado en el navegador, la aplicación debería verse así:

¡Eso es todo! Para crear un nuevo cuaderno de Python 3, haga clic en el menú desplegable “Nuevo” en la esquina superior derecha y haga clic en Python 3:

juypter2

¡Ya está listo para empezar a trabajar con su nuevo portátil Python 3!

juypter3

Conclusión

Jupyter Notebooks es un proyecto derivado de la IPython implementación. Nos permite producir, emplear y compartir documentos que contienen código, visualizaciones, ecuaciones y otro texto narrativo. ¡Sus usos incluyen opciones tales como limpieza y modificaciones de datos, modelado y simulación numéricos, representaciones estadísticas, visualización de datos, aprendizaje automático y más! Es la opción predeterminada de los científicos de datos para compartir código, crear prototipos y otros análisis.

¿Quieres más información?
¡Llamanos!

Estamos disponibles para hablar con usted cuando nos llame al 1.800.580.4985. Puede contratar a uno de nuestros expertos proveedores de soluciones que puede brindarle la información que necesita para tomar una decisión informada de inmediato.

¿Demasiado ocupado para hablar? Hacer clic AQUÍ para abrir un chat rápido con nosotros para obtener más información. ¿Te gustaría recibir la información en un correo electrónico que puedas revisar cuando quieras? Envíenos un correo electrónico hoy para obtener consejos sólidos sobre qué producto de nuestra línea se adaptaría mejor a sus necesidades.

¡Esperamos poder hablar con usted!

Related Posts