Entornos virtuales en Python 3

Instalación de módulos en Python 3

Es muchas ocasiones tenemos que instalar librerías o módulos en Python para obtener distintas funcionalidades, y para ello tenemos dos posibilidades:

  • ·Un índice de paquetes de Python, llamado PyPI, que es el repositorio de paquetes oficiales de Python que podemos descargar e instalar en nuestro sistema para utilizarlos.
  • Un instalador que se llama pip, que permite descargar los paquetes del repositorio e instalarlos en nuestro sistema.

Cuando queremos instalar un módulo en Python 3 para utilizarlo, por ejemplo la librería pygame para desarrollar juegos, tenemos tres opciones distintas.

Instalar desde el repositorio 

La primera opción para ello sería utilizar la librería que tenemos empaquetada en el repositorio de nuestra distribución Linux, es decir, la buscamos de esta forma:


	# apt show Python-pygame.

Y se mostrarían las características de la librería empaquetada en el repositorio.

Con esta opción podemos tener el problema que la librería que queremos instalar sea más antigua que la versión actual.

En la librería pygame para Debian, que es la que estamos empleando en el ejemplo, el cambio no es muy importante, ya que las versiones no son muy diferentes, pero en otros módulos que tengan un nivel de desarrollo mayor, puede ocurrir que la versión que tengamos empaquetada sea una versión mucho más antigua.

Por otro lado, en este ejemplo de pygame, tenemos únicamente la versión para Python 2, si necesitáramos la versión para Python 3 no la tendríamos empaquetada en nuestra distribución de Debian.

Por lo tanto esta primera opción puede ser válida en algunas ocasiones pero no es la recomendable.

Instalar utilizando pip

La segunda opción sería instalar el instalador pip como superusuario y realizar la instalación del módulo que nos interesa, por ejemplo pygame, lo que se haría así:


	# pip install pygame 

De esta forma se instalaría el módulo en nuestro sistema de archivos como administrador y podríamos utilizar el módulo desde Python 3.

Esta forma puede tener algunos problemas, aunque funciona para la mayoría de los módulos. Esta solución puede provocar un problema porque de esta forma podemos romper las dependencias de los módulos Python que tenemos en nuestro sistema.

Por lo tanto, utilizar el instalador pip como superusuario tampoco es una opción válida.

Instalar utilizando un entorno virtual 

La opción más recomendable sería el uso de entornos virtuales, que es un mecanismo que nos permite gestionar los paquetes Python pero hacerlo en un entorno aislado, sin ser superusuario y en un directorio.

Cuando activamos un entorno virtual, en ese directorio podemos instalar cualquier versión de cualquier paquete de Python, utilizarlo y una vez que la hemos utilizado en nuestro programa, desactivamos el entorno y ya tenemos esos paquetes a nuestra disposición.

Es un espacio aislado dónde podemos instalar distintas versiones de paquetes o las últimas versiones de los paquetes para trabajar con ellas. Es la opción más recomendada para el uso de librerías Python en nuestro sistema.

 

Ejemplo de un entorno virtual 

Vamos a ver un ejemplo de un entorno virtual instalando el módulo venv, que nos permite crear un entorno de desarrollo, que en este caso se llamará pygame_env. Después lo activaremos y así todas las instalaciones que hagamos en ese entorno serán locales y no afectarán al sistema de archivos o a las versiones de paquetes Python que tengamos en nuestro sistema.

Lo primero que haremos será instalar el paquete de Python 3 como administrador:


	sudo apt-get install python3-venv

Una vez instalado, vamos a crear el entorno de desarrollo:


	python3 -m venv pygame_env

En unos segundos se crea el entorno de desarrollo, que en realidad es un directorio con la estructura del sistema de archivos similar a como Python guarda los módulos que se han instalado.

Para activar el entorno ejecutamos lo siguiente:


	source pygame_env/bin/activate

De esta forma se activa el entorno virtual, y aparece indicado en el prompt, que muestra la ruta en la que se ha creado el mismo.

En este momento no podemos utilizar ningún módulo de Python que tengamos en nuestro sistema, sino que tenemos un entorno local, un entorno aislado, donde podemos puedo instalar los módulos que necesitemos. En este caso vamos instalar el módulo pygame, para poder desarrollar juegos con Python:


	pip install pygame

De esta forma se descarga el módulo y se activa. Si queremos comprobar que realmente lo tenemos instalado, vamos a solicitar la lista de paquetes que tenemos instalados:


	pip list

Comprobamos que efectivamente tenemos el módulo pygame instalado y además en su última versión disponible, la versión 1.9.4.

En ese momento podríamos empezar a desarrollar nuestro programa utilizando el módulo pygame sin ningún problema, y en el momento que terminemos podemos desactivar el entorno virtual de esta forma:


	deactivate

Al desactivar el entorno virtual, ya no tendríamos a nuestra disposición el módulo pygame.

Si quieres aprender en profundidad Python, puedes hacer el curso de Python 3 desde cero de nuestro profesor José Domingo Muñoz en el que aprenderás los fundamentos del lenguaje de programación Python 3 desde cero, pensado para no programadores que se quieran iniciar en este mundo.

curso-python-3

Recuerda que puedes comenzar este curso con tu suscripción de OpenWebinars. Si todavía no estás suscrito, aprovecha para hacerlo ahora.

También te puede interesar...

Lenguajes de Programación

Los 5 mejores editores Python

06 Junio 2017 Daniel Ortego Delgado
Lenguajes de Programación

Python para Sysadmin

31 Enero 2019 José Domingo Muñoz
Lenguajes de Programación

Cómo hacer debug con Python

31 Enero 2019 José Domingo Muñoz

Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información.