Apuntes mientras aprendo sobre software y computadoras.

programación

Cómo crear un entorno virtual con Python en Linux

En este breve apunte voy a estar revisando cómo crear un entorno virtual de desarrollo para programar en Python dentro del sistema operativo Linux.

Lo que quiero hacer con esta serie de apuntes es seguir registrando toda esa serie de cosas que siempre quise aprender, pero que nunca me tomé el tiempo para registrar o documentar.

Para nuestra suerte este tema es muy fácil de poner en práctica… tán fácil que antes voy a tener que crear un poco de relleno para aumentar el conteo de palabras.

¿Para qué hacer un entorno virtual de Python?

La idea es que tenemos Python instalado globalmente en nuestra máquina. Bien podemos usar esa instalación global para todos los proyectos que usamos.

El problema es que cada proyecto que utilizamos generalmente requiere sus propias librerías extras. Agregar librerías y paquetes sobre esta instalación termina por generar una acumulación poco ordenada.

La idea de un contención virtual de Python implica que de esta forma cada proyecto consigue tener solamente las librerías necesarias para su correcto funcionamiento.

Además no tenemos que olvidad que Python es una parte importante del funcionamiento de la máquina. No es algo que ocurra seguido, pero si nos ponemos a jugar con esto e intentamos desinstalar el interprete de Python vamos a conseguir romper el sistema operativo. Puedo confirmar que es algo que ocurre, como esa vez que borré algunas carpetas y no pude volver a utilizar el comando “apt”.

¿Necesito hacer una instalación de Python “desde cero” para crear un entorno virtual?

Esto es algo que al principio me confundía.

Según entiendo cada vez que inicio un entorno virtual, el directorio obtiene una copia de Python que funciona completamente separada de la versión global.

Por lo que no importa si mi instalación actual ya tiene librerías agregadas.

Esta copia de Python que se inicia en cada entorno virtual no contiene nada más que el interprete con su librería original. Esto quiere decir que no tiene nada extra de los paquetes que habíamos agregado antes.

¿Cómo crear el entorno virtual de Python?

La documentación de Python indica los pasos a seguir:

En sistemas operativos tipo Debian/Ubuntu antes vamos a necesitar instalar, si no lo hicimos antes, una librería de Python:

apt install python3.10-venv

Aunque la versión de Python puede variar según la que tengas instalada.

Lo importante es que para crear el entorno virtual propiamente dicho utilizo el comando:

python3 -m venv ~/camino/al/directorio/específico

Esto crea los archivos necesarios en el directorio para habilitar esta nueva versión “descartable” de Python que vamos a usar en este proyecto en particular.

¿Cómo activar el entorno virtual de Python?

Digamos que establecí el entorno virtual con este comando:

python3 -m venv ~/Desktop/test

Podemos notar que nuevos archivos fueron creado dentro del directorio test.

Si ahora entro en esa carpeta, voy a notar que hay un nuevo directorio llamado “bin”. Y dentro de ese directorio hay un archivo llamado “activate”.

Para activar el directorio virtual en ese caso utilizo el comando:

source ~/Desktop/test/bin/activate

Voy a notar que el comando tuvo efecto porque el nombre del directorio dónde estoy trabajando con el entorno virtual aparece en la terminal de esta forma:

(test) gus@equipo:

Y para terminar el entorno virtual utilizo el comando:

deactivate

Básicamente entonces hago “source” apuntando al directorio “/bin/activate/” de cada proyecto específico. Y termino el entorno virtual con “deactivate”.

Y para eliminar un entorno virtual utilizo el comando:

rm -rf /camino/al/directorio

Y con eso consigo borrar el directorio.

Recordemos que cada librería que instale dentro de un entorno virtual va a aplicar solamente a ese directorio.

¿Cómo se qué paquetes existen agregados en mi instalación de Python?

Este puede ser un interesante experimento, rápido de realizar.

Digamos que estuvimos instalando librerías en nuestra versión de Python global.

Si utilizamos el comando:

pip list

Vamos a tener un listado de todas las librerías instaladas.

Si ahora creamos un nuevo entorno virtual desde cero, y corremos de nuevo el mismo comando, vamos a notar que tenemos muchos menos paquetes instalados.

Esto último ocurre porque la versión de Python del entorno virtual no tiene ninguna de las librerías extra que la versión global tiene agregadas sobre su paquete básico.

Conclusión

Con esto termino este breve apunte revisando cómo crear un entorno virtual de Python en Linux.

Existen otras opciones para realizar este tipo de entornos, pero pro ahora creo que con conocer esta forma me alcanza. No es algo complejo de hacer, y puede ayudarnos a crear proyectos eficientes y ordenados.

¿Te fue de utilidad esta información? ¿Encontraste algún error en el material? Si me escribís un correo voy a poder conocer tu opinión.

La seguimos en el próximo apunte.

Leave a Reply