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

Entornos virtuales en Python 3

José Domingo Muñoz
Entornos virtuales en Python 3
El reproductor de video será cargado en breves instantes.

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.

Relacionado

Te dejamos una selección de cursos, carreras y artículos

Los 5 mejores editores Python

Los 5 mejores editores Python

Lenguajes de programación

06 de Junio de 2017

Con el auge del Big Data y la analítica, ciertos lenguajes de programación han adquirido especial relevancia. Si ya eran importantes, al implementarse en nuevas propuestas de negocio la demanda de ...

Python para Sysadmin

Python para Sysadmin

Lenguajes de programación

31 de Enero de 2019

Te contamos los motivos por los que Python 3 es un lenguaje de programación muy interesante para los administradores de sistemas.

Cómo hacer debug con Python

Cómo hacer debug con Python

Lenguajes de programación

31 de Enero de 2019

Te mostramos cómo depurar un programa en Python 3 utilizando el editor Visual Studio Code.

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars