LinuxParty
Introducción
Jupyter Notebook es una aplicación web de código abierto que le permite crear y compartir código interactivo, visualizaciones y más. Esta herramienta se puede utilizar con varios lenguajes de programación, incluidos Python, Julia, R, Haskell y Ruby. A menudo se usa para trabajar con datos, modelado estadístico y aprendizaje automático.
Este tutorial lo guiará a través de la configuración de Jupyter Notebook para que se ejecute desde un servidor Ubuntu 18.04, y también le enseñará cómo conectarse y usar Notebook. Los Jupyter Notebooks (o simplemente Notebooks ) son documentos producidos por la aplicación Jupyter Notebook que contienen código de computadora y elementos de texto enriquecido (párrafo, ecuaciones, figuras, enlaces, etc.) que ayudan a presentar y compartir investigaciones reproducibles. En el paso final de esta guía, ejecutará el código de Python 3 con un Jupyter Notebook que se ejecuta en un servidor remoto.
requisitos previos
Para completar esta guía, necesitará una instancia de servidor Ubuntu, Debian, AlmaLinux, Fedora, etc... con un firewall y un usuario no root con privilegios de sudo configurados.
Paso 1: Configuración de Python
Para comenzar el proceso, instale las dependencias para su entorno de programación Python desde los repositorios de Ubuntu. Ubuntu 18.04 viene preinstalado con Python 3.6.9. Utilizará el pip del administrador de paquetes de Python para instalar componentes adicionales más adelante.
Primero, actualice el índice "apt
" del paquete local:
sudo apt update
A continuación, instale pip y los archivos de encabezado de Python, que utilizan algunas de las dependencias de Jupyter:
######## PARA DISTROS BASADAS EN DEBIAN COMO UBUNTU ######
sudo apt install python3-pip python3-dev
####### PARA DISTROS BASADAS EN RHEL COMO CENTOS, ALMALINUX, FEDORA... ########
yum -y install python3-spyder-kernels.noarch
yum -y install python3-ipykernel.noarch \
python3-ipython-tests.noarch \
python3-ipython_genutils.noarch python3-ipython.noarch \
python3-metakernel-bash.noarch python \
3-ipyparallel.noarch python3-metakernel-python.noarch
Ahora puede pasar a configurar un entorno virtual de Python.
Paso 2: Crear un entorno virtual de Python para Jupyter
Con algunas dependencias instaladas, puede crear un entorno virtual de Python para administrar sus proyectos. Jupyter se instalará en este entorno virtual.
Necesitará acceso al "virtualenv
" comando que se puede instalar con pip.
Primero, actualice pip escribiendo:
sudo -H pip3 install --upgrade pip
Luego instale "virtualenv
" con este comando:
sudo -H pip3 install virtualenv
El indicador "-H
" garantiza que la política de seguridad establezca la "home
" variable de entorno en el directorio de inicio del usuario de destino.
Con "virtualenv
" instalado, puede comenzar a formar su entorno. Cree y muévase a un directorio donde pueda guardar los archivos de su proyecto. El siguiente directorio de ejemplo se llama la carpeta "my_project_dir
" . Use un nombre que sea significativo para usted y para lo que está trabajando.
Cree su directorio escribiendo el siguiente comando:
mkdir ~/my_project_dir
Mover a la carpeta "my_project_dir
" con este comando:
cd ~/my_project_dir
Dentro del directorio del proyecto, cree un entorno virtual de Python. Este tutorial se referirá al entorno como "my_project_env
" pero, de nuevo, puede llamarlo algo que sea relevante para su proyecto
virtualenv my_project_env
Esto crea un directorio llamado "my_project_env
" dentro de su directorio "my_project_dir
" . En el interior, instalará una versión local de Python y una versión local de pip. Puede usar esto para instalar y configurar un entorno de Python aislado para Jupyter.
Antes de instalar Jupyter, active el entorno virtual. Puedes hacerlo escribiendo:
source my_project_env/bin/activate
Su mensaje debería cambiar para indicar que ahora está operando dentro de un entorno virtual de Python similar a este:
Ahora está listo para instalar Jupyter en este entorno virtual.
Paso 3: Instalación de Jupyter
Con su entorno virtual activo, instale Jupyter con la instancia local de pip.
Nota: Cuando el entorno virtual está activado (cuando su solicitud lo precede (my_project_env)
), use "pip
" en lugar de "pip3
" , incluso si está usando Python 3. La copia de la herramienta del entorno virtual siempre se denomina "pip
" , independientemente de la versión de Python.
"
pip install jupyter
"
En este punto, ha instalado con éxito todo el software necesario para ejecutar Jupyter. Ahora puede iniciar el servidor de Notebook.
Paso 4: Ejecutar Jupyter Notebook
Ahora tiene todo lo que necesita para ejecutar Jupyter Notebook. Para ejecutarlo, ejecute el siguiente comando:
jupyter notebook
Se imprimirá un registro de las actividades de Jupyter Notebook en el terminal. Cuando ejecuta Jupyter Notebook, se ejecuta en un número de puerto específico. El primer portátil que ejecute normalmente utilizará el puerto "8888
" . Para comprobar el número de puerto específico en el que se ejecuta Jupyter Notebook, consulte el resultado del comando utilizado para iniciarlo:
Salida:
"
"[I 21:23:21.198 NotebookApp] Writing notebook server cookie secret to /home/sammy/.local/share/jupyter/runtime/notebook_cookie_secret [I 21:23:21.361 NotebookApp] Serving notebooks from local directory: /home/sammy/my_project_dir [I 21:23:21.361 NotebookApp] The Jupyter Notebook 6.4.10 is running at: [I 21:23:21.361 NotebookApp] http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72 [I 21:23:21.361 NotebookApp] or http://127.0.0.1:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72 [I 21:23:21.361 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [W 21:23:21.361 NotebookApp] No web browser found: could not locate runnable browser. [C 21:23:21.361 NotebookApp] To access the notebook, open this file in a browser: file:///home/sammy/.local/share/jupyter/runtime/nbserver-7924-open.html Or copy and paste one of these URLs: http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72 or http://127.0.0.1:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72
""
"
Si está ejecutando Jupyter Notebook en una computadora local (no en un servidor), puede navegar a la URL que se muestra para conectarse a Jupyter Notebook. Si está ejecutando Jupyter Notebook en un servidor, deberá conectarse al servidor mediante túneles SSH como se describe en la siguiente sección.
En este punto, puede mantener abierta la conexión SSH y seguir ejecutando Jupyter Notebook o puede salir de la aplicación y volver a ejecutarla una vez que haya configurado el túnel SSH.
Si desea detener el proceso de Jupyter Notebook, presione "CTRL+C
" , escriba "Y
" y luego "ENTER
" para confirmar. Se mostrará la siguiente salida:
"
"Salida
"
"[C 19:23:34.939 NotebookApp] Shutdown confirmed
[I 19:23:34.940 NotebookApp] Shutting down 0 kernels [I 19:23:34.941 NotebookApp] Shutting down 0 terminals
"
Ahora puede configurar un túnel SSH para acceder a Notebook.
Paso 5: Conexión al servidor mediante túneles SSH
Jupyter Notebook se ejecuta en un puerto específico del servidor (como ":8888
" , ":8889
" etc.). La tunelización SSH le permite conectarse al puerto del servidor de forma segura.
Las siguientes dos subsecciones describen cómo crear un túnel SSH desde un sistema operativo Mac, Linux y Windows. Consulte la subsección correspondiente a su computadora local.
Tunelización SSH con Mac o Linux
Si usa Mac o Linux, los pasos para crear un túnel SSH son similares a usar SSH para iniciar sesión en su servidor remoto, excepto que hay parámetros adicionales en el comando "ssh
" .
La tunelización SSH se puede realizar ejecutando el siguiente comando SSH en una nueva ventana de terminal local:
ssh -L 8888:localhost:8888 your_server_username@your_server_ip
El "ssh
" comando abre una conexión SSH, pero "-L
" especifica que el puerto dado en el host local (cliente) se reenviará al host y puerto dados en el lado remoto (servidor). Esto significa que cualquier cosa que se esté ejecutando en el segundo número de puerto (por ejemplo "8888
" , ) en el servidor aparecerá en el primer número de puerto (por ejemplo, "8888
" ) en su computadora local.
Opcionalmente, cambie el puerto "8888
" a uno de su elección para evitar usar un puerto que ya está en uso por otro proceso.
"server_username
" es su nombre de usuario (por ejemplosammy) en el servidor que creó y "your_server_ip
" es la dirección IP de su servidor.
Por ejemplo, para el nombre de usuario "sammy
" y la dirección del servidor "203.0.113.0
" , el comando sería:
ssh -L 8888:localhost:8888 Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo..0
Si no hay mensajes de error después de ejecutar el "ssh -L
" comando, puede pasar a su entorno de programación y ejecutar Jupyter Notebook:
jupyter notebook
Recibirá resultados con una URL. Desde un navegador web en su máquina local, abra la interfaz web de Jupyter Notebook con la URL que comienza con "http://localhost:8888
" . Asegúrese de que el número de token esté incluido o ingrese la cadena del número de token cuando se le solicite en "http://localhost:8888
" :
Output"... [I 21:23:21.361 NotebookApp] The Jupyter Notebook 6.4.10 is running at: [I 21:23:21.361 NotebookApp] http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72 ...
Tunelización SSH con Windows y Putty
Si está usando Windows, puede crear un túnel SSH usando Putty .
Primero, ingrese la URL del servidor o la dirección IP en el campo Nombre de host (o dirección IP) como se muestra:
A continuación, haga clic en SSH en la parte inferior del panel izquierdo para expandir el menú y luego haga clic en Túneles . Ingrese el número de puerto local que desea usar para acceder a Jupyter en su máquina local. Elija "8000
" o mayor para evitar los puertos utilizados por otros servicios y establezca el destino como donde está el número del puerto 8888
en el que se ejecuta Jupyter Notebook. "localhost:8888
"
Haga clic en el botón Agregar y los puertos deberían aparecer en la lista de puertos reenviados :
Finalmente, haga clic en el botón Abrir para conectarse al servidor a través de SSH y canalizar los puertos deseados. Navegue hasta (o el puerto que elija) en un navegador web para conectarse a Jupyter Notebook que se ejecuta en el servidor. Asegúrese de incluir el número de token o ingrese la cadena del número de token cuando se le solicite en . "http://localhost:8000
"
http://localhost:8000
Ya sea que se esté conectando dentro de un sistema operativo Mac/Linux o Windows, ahora debería estar conectado a su servidor a través de un túnel SSH. Ahora está listo para usar Jupyter Notebook en su navegador web.
Paso 6: Uso de Jupyter Notebook
Si actualmente no tiene Jupyter Notebook ejecutándose, inícielo con el comando "jupyter notebook
" :
Ahora debería estar conectado a él usando un navegador web. Jupyter Notebook es una herramienta muy poderosa con muchas funciones. Esta sección describirá algunas de las funciones básicas para que pueda comenzar a utilizar el equipo portátil. Jupyter Notebook mostrará todos los archivos y carpetas en el directorio desde el que se ejecuta, por lo que cuando esté trabajando en un proyecto, asegúrese de iniciarlo desde el directorio del proyecto.
Para crear un nuevo archivo de Notebook, seleccione Nuevo > Python 3 en el menú desplegable superior derecho:
Esto abrirá un cuaderno. Ahora puede ejecutar el código de Python en la celda o cambiar la celda a Markdown. Por ejemplo, cambie la primera celda para aceptar Markdown haciendo clic en Celda > Tipo de celda > Markdown en la barra de navegación superior. Ahora puede escribir notas usando Markdown e incluso incluir ecuaciones escritas en LaTeX colocándolas entre los "$$
" símbolos. Por ejemplo, escriba lo siguiente en la celda después de cambiarla a Markdown:
# First Equation Let us now implement the following equation: $$ y = x^2$$ where $x = 2$
Para convertir la reducción en texto enriquecido, presione "CTRL + ENTER
" y los siguientes deberían ser los resultados:
Puede usar las celdas de descuento para tomar notas y documentar su código. Para implementar esa ecuación e imprimir el resultado, haga clic en la celda superior, luego presione "ALT + ENTER
" para agregar una celda debajo. Ingrese el siguiente código en la nueva celda.
x = 2 y = x**2 print(y)
Para ejecutar el código, presione "CTRL + ENTER
" . Recibirás los siguientes resultados:
Ahora tiene la capacidad de importar módulos y usar Notebook como lo haría con cualquier otro entorno de desarrollo de Python.
Conclusión
Ahora debería poder escribir código Python reproducible y notas en Markdown usando Jupyter Notebook. Para obtener un recorrido rápido por Jupyter Notebook desde la interfaz, seleccione Ayuda > Recorrido por la interfaz de usuario en el menú de navegación superior para obtener más información.
-
Programación
- Profesor de informática del MIT prueba el impacto de la IA en la formación de programadores
- Lanzamiento del IDE de código abierto Qt Creator 14 con soporte para complementos basados en Lua
- Plantillas para Joomla - Episodio 1: Plantillas, marcos y clubes o no...
- Este es el mejor libro que he visto para aprender a programar en Python en castellano desde cero, gratis y online
- ¿Deberían los niños seguir aprendiendo a programar en la era de la IA?
- La 'obsolescencia' de VBScript confirmada por Microsoft y su eventual eliminación de Windows
- El Gran Debate: ¿Deberían los Modelos de Inteligencia Artificial Ser de Código Abierto?
- El lenguaje de programación BASIC cumple 60 años
- El CEO de Nvidia dice que los niños no deberían aprender a programar
- 40 años de Turbo Pascal: recuerdos del dinosaurio codificador que revolucionó los IDE
- Los lenguajes de programación más populares y dónde aprenderlos.
- Top 5 de los principales lenguajes de programación para desarrollar aplicaciones de escritorio Linux
- Qt Creator 12 lanzado con complementos de grabación de pantalla y Explorador de compiladores
- 10 sitios web para practicar problemas de programación
- Rust en Linux: madurando con el soporte de Cisco, Samsung y Canonical