Crear un entorno virtual Python en Ubuntu 20.04

Crear un entorno virtual Python en Ubuntu 20.04, Debian, Linux Mint y todos sus derivados.

Un entorno virtual Python es un directorio que contiene la instalación completa de una versión de Python, en el cual se incluyen varios paquetes específicos así como todos los módulos adicionales que resulten necesarios.

Se permite crear varios entornos, de forma que nos permita tener un número ilimitado de versiones y módulos de Python diferentes. Todo esto independientemente de la versión principal de Python instalada en el sistema. Su utilidad es grandiosa, sobre todo para desarrolladores, ya que permite instalar aplicaciones que requieren de diferentes versiones y módulos de Python, como por ejemplo… Odoo, Django o Flask.

La instalación y puesta en marcha del entorno virtual, es un proceso bastante rápido y sencillo que te tomara como mucho 10 minutos. En el artículo de hoy vemos lo sencillo que es crear, lo que también se conoce como Python virtual environment.

Virtualenv Python

Virtualenv Python

 

Crear un entorno virtual Python en Ubuntu 20.04

Como es habitual, lo primero que hacemos es actualizar nuestro sistema.

sudo apt update

sudo apt upgrade

Ahora verificamos la versión actual de Python, instalada en nuestro sistema.

python3 -V

Ejemplo.

sergio@demo-sololinux:~$ python3 -V
Python 3.8.10
sergio@demo-sololinux:~$

Para crear nuestro entorno necesitamos el paquete python3-venv, este paquete instalará el módulo venv junto con algunas dependencias necesarias. Recuerda que puedes usar cualquier versión Python que quieras, pero que esté disponible en el repositorio de Ubuntu.

sudo apt -y install python3-venv

Ejemplo de instalación.

sergio@demo-sololinux:~$ sudo apt -y install python3-venv
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias       
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes adicionales:
  python-pip-whl python3-distutils python3-lib2to3 python3.8-venv
Se instalarán los siguientes paquetes NUEVOS:
  python-pip-whl python3-distutils python3-lib2to3 python3-venv python3.8-venv
0 actualizados, 5 nuevos se instalarán, 0 para eliminar y 0 no actualizados.
Se necesita descargar 2.030 kB de archivos.
Se utilizarán 4.465 kB de espacio de disco adicional después de esta operación.
Des:1 http://es.archive.ubuntu.com/ubuntu focal-updates/universe amd64 python-pip-whl all 20.0.2-5ubuntu1.6 [1.805 kB]
Des:2 http://es.archive.ubuntu.com/ubuntu focal-updates/main amd64 python3-lib2to3 all 3.8.10-0ubuntu1~20.04 [76,3 kB]
Des:3 http://es.archive.ubuntu.com/ubuntu focal-updates/main amd64 python3-distutils all 3.8.10-0ubuntu1~20.04 [141 kB]
Des:4 http://es.archive.ubuntu.com/ubuntu focal-updates/universe amd64 python3.8-venv amd64 3.8.10-0ubuntu1~20.04 [5.456 B]
Des:5 http://es.archive.ubuntu.com/ubuntu focal/universe amd64 python3-venv amd64 3.8.2-0ubuntu2 [1.228 B]
Descargados 2.030 kB en 1s (2.443 kB/s)
Seleccionando el paquete python-pip-whl previamente no seleccionado.
(Leyendo la base de datos ... 165252 ficheros o directorios instalados actualmen
te.)
Preparando para desempaquetar .../python-pip-whl_20.0.2-5ubuntu1.6_all.deb ...
Desempaquetando python-pip-whl (20.0.2-5ubuntu1.6) ...
Seleccionando el paquete python3-lib2to3 previamente no seleccionado.
Preparando para desempaquetar .../python3-lib2to3_3.8.10-0ubuntu1~20.04_all.deb 
...
Desempaquetando python3-lib2to3 (3.8.10-0ubuntu1~20.04) ...
Seleccionando el paquete python3-distutils previamente no seleccionado.
Preparando para desempaquetar .../python3-distutils_3.8.10-0ubuntu1~20.04_all.de
b ...
Desempaquetando python3-distutils (3.8.10-0ubuntu1~20.04) ...
Seleccionando el paquete python3.8-venv previamente no seleccionado.
Preparando para desempaquetar .../python3.8-venv_3.8.10-0ubuntu1~20.04_amd64.deb
 ...
Desempaquetando python3.8-venv (3.8.10-0ubuntu1~20.04) ...
Seleccionando el paquete python3-venv previamente no seleccionado.
Preparando para desempaquetar .../python3-venv_3.8.2-0ubuntu2_amd64.deb ...
Desempaquetando python3-venv (3.8.2-0ubuntu2) ...
Configurando python-pip-whl (20.0.2-5ubuntu1.6) ...
Configurando python3-lib2to3 (3.8.10-0ubuntu1~20.04) ...
Configurando python3-distutils (3.8.10-0ubuntu1~20.04) ...
Configurando python3.8-venv (3.8.10-0ubuntu1~20.04) ...
Configurando python3-venv (3.8.2-0ubuntu2) ...
Procesando disparadores para man-db (2.9.1-1) ...
sergio@demo-sololinux:~$
Python Virtual Environment

Python Virtual Environment

 

Para crear nuestro primer entorno virtual de Python, inserta un nuevo directorio de trabajo que se creara de forma automática. En nuestro caso, hemos elegido… «my_python». Ejecuta el siguiente comando.

sudo python3 -m venv /opt/my_python

Verifica que se han generado los archivos necesarios.

ls /opt/my_python

La carpeta debe incluir estos archivos…

Archivos pyhton

Archivos pyhton

 

Bien, solo falta habilitar el entorno, para ello accedemos al directorio y lo activamos. No olvide cambiar «my-python», por el nombre que tú hayas elegido.

sudo su

cd /opt/

source my_python/bin/activate

Automáticamente accedemos al nuevo entorno, observa que su nombre aparece al principio de cada línea de nuestra terminal / consola.

sergio@demo-sololinux:~$ sudo su
[sudo] contraseña para sergio: 
root@demo-sololinux:/home/sergio# cd /opt/
root@demo-sololinux:/opt# source my_python/bin/activate
(my_python) root@demo-sololinux:/opt#

Una vez habilitado, ya puedes comenzar a trabajar en el nuestro proyecto. También puedes instalar y usar cualquier aplicación Python, incluyendo nuevos módulos. En el ejemplo instalamos el módulo IDNA, que ofrece soporte para el protocolo de nombres de dominio internacionalizados en aplicaciones (IDNA), como se especifica en RFC 5891.

pip install idna

Ejemplo.

(my_python) root@demo-sololinux:~# pip install idna
Collecting idna
  Downloading idna-3.2-py3-none-any.whl (59 kB)
     |████████████████████████████████| 59 kB 985 kB/s 
Installing collected packages: idna
Successfully installed idna-3.2

Imagen de ejemplo completa.

Modulo idna en python

Módulo idna en python

 

Para deshabilitar temporalmente el entorno de trabajo virtual (sin borrarlo), ejecuta…

deactivate

Opera tal como en el ejemplo, para no tener problemas.

(my_python) root@demo-sololinux:~# deactivate
root@demo-sololinux:~#

 

Canales de Telegram: Canal SoloLinux – Canal SoloWordpress

Espero que este artículo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales.

Chat de SoloLinux en Telegram

 

Una respuesta

  1. Emiliano
    20/09/2021

Agregar comentario

1 logo sololinux

Suscríbete a SoloLinux

Recibe todos los nuevos artículos es tu correo electrónico

You have Successfully Subscribed!

Ir al contenido