Ya verificamos (o estamos por instalar) Python, que es como el sistema operativo de nuestro proyecto Django. Ahora, antes de empezar a instalar Django y otras herramientas, vamos a hacer algo muy importante y muy útil: crear un entorno virtual.
¿Un qué? ¡Un entorno virtual! Imagina que para cada proyecto de carpintería que haces (una silla, una mesa, una casita para el perro), tuvieras una caja de herramientas completamente separada y exclusiva para ese proyecto. Si necesitas un tipo de clavo especial para la silla, lo pones en la caja de la silla, y no se mezcla con los tornillos que usas para la mesa.
Un entorno virtual es como tener una caja de herramientas separada y ordenada para cada proyecto.
Un entorno virtual en Python es muy parecido: es como crear una "pequeña computadora" o un "espacio aislado" dentro de una carpeta en tu PC, solo para nuestro proyecto Django. Todas las herramientas (librerías, paquetes, y el propio Django) que instalemos para este proyecto vivirán únicamente dentro de este entorno, sin afectar al resto de tu computadora ni a otros proyectos que puedas tener.
Usar entornos virtuales tiene grandes ventajas:
Crear un entorno virtual es sorprendentemente fácil gracias a una herramienta que ya viene con Python (a partir de la versión 3.3, que es la que deberíamos tener). Esta herramienta se llama venv (que, como te imaginarás, viene de "virtual environment" o entorno virtual).
Estos son los pasos:
cd (change directory) para moverte. Por ejemplo, si quieres crear tu proyecto en una carpeta llamada "MisProyectosDjango" que está en tu Escritorio, harías algo como:
cd Escritorio
cd MisProyectosDjango
(Si la carpeta "MisProyectosDjango" no existe, ¡créala primero usando mkdir MisProyectosDjango!)
python -m venv nombre_del_entorno
(Recuerda: si en tu sistema Python se llama con python3, entonces usa python3 -m venv nombre_del_entorno).
Desglosemos este comando:
python (o python3): Le decimos a la computadora que vamos a usar Python.-m venv: -m significa que vamos a ejecutar un módulo de Python, y venv es el nombre de ese módulo para crear entornos virtuales.nombre_del_entorno: Aquí va el nombre que le quieras dar a la carpeta de tu entorno virtual. Mucha gente usa simplemente venv o env por convención, pero podrías ponerle mi_entorno_super_cool, entorno_del_proyecto_agenda, o lo que se te ocurra. Para mantenerlo simple y común, usemos venv.Entonces, el comando completo que escribirías (si estás en la carpeta "MisProyectosDjango") sería:
python -m venv venv
venv) dentro de tu carpeta de proyecto ("MisProyectosDjango").
Si exploras la carpeta venv que acabas de crear, verás varias subcarpetas y archivos. No necesitas entenderlos todos ahora mismo, pero es bueno saber que existen:
Scripts (en Windows) o bin (en Mac/Linux): Aquí viven pequeños programas para activar y desactivar el entorno. ¡Muy importantes!Lib (o similar): Dentro de ella, hay otra llamada site-packages. Aquí es donde se instalarán todas las herramientas (como Django) que agreguemos a este entorno virtual en particular. ¡Es la cajita de herramientas aislada de la que hablábamos!Lo más importante es que todo lo que instalemos para nuestro proyecto de Django, a partir de ahora (una vez que activemos el entorno), se guardará dentro de esta carpeta venv, manteniendo el resto de tu sistema Python intacto y ordenado.
No te pierdas el video de este capítulo donde te muestro cómo crear el entorno virtual paso a paso.
Un entorno virtual es como una "mini-computadora" aislada dentro de una carpeta para nuestro proyecto. Nos ayuda a mantener las herramientas (librerías) de cada proyecto separadas y ordenadas. Se crea fácilmente desde la terminal con el comando python -m venv nombre_del_entorno (por ejemplo, python -m venv venv). Dentro de la carpeta del entorno, especialmente en Lib/site-packages, es donde se guardarán todas las herramientas que instalemos para este proyecto específico.
¡Genial! Ya tenemos nuestro espacio de trabajo aislado y listo. En el próximo capítulo, aprenderemos a "encender" esta mini-computadora, es decir, a activar nuestro entorno virtual para empezar a instalar Django.