Jump to content

Python (Español)/Virtual environment (Español)

From ArchWiki
Esta traducción de Python/Virtual environment fue revisada el 2025-11-11. Si existen cambios puede actualizarla o avisar al equipo de traducción.

virtualenv es una herramienta usada para crear un espacio de trabajo aislado para una aplicación Python. Esto tiene varias ventajas como la habilidad para instalar módulos localmente, exportar un entorno de trabajo y ejecutar un programa de Python en este entorno.

Descripción general

Un entorno virtual es un directorio dentro del cual algunos binarios y scripts de shell son instalados. Los binarios incluyen python para ejecutar scripts y pip para instalar otros módulos en el entorno. También hay scripts de shell (uno para bash, csh, y fish) para activar el entorno. Esencialmente, un entorno virtual imita un sistema completo instalado de Python y todo de los módulos deseados sin interferir con algún sistema en el que podría ejecutarse la aplicación.

En 2017, Pipenv fue publicado como una herramienta que gestiona todas las funciones mencionadas anteriormente: la gestión de entornos virtuales de intérpretes de Python, las dependencias de paquetes, su activación y el bloqueo reproducible de versiones en Pipfiles.

Instalación

Python 3.3+ viene con un módulo llamado venv. Para aplicaciones que requieren una version antigua de Python, virtualvenv debe ser usado.

Paquetes

Instale uno de estos paquetes para usar un entorno virtual Python:

Para Pipenv:

Uso

Todas estas tres herramientas usan un flujo de trabajo similar.

Creación

Utiliza venv o virtualenv para crear el entorno virtual dentro del directorio de tu proyecto. Asegúrate de excluir el directorio venv del control de versiones--bastará con ejecutar pip freeze para reconstruirlo.

venv

Nota Este método reemplaza el script pyvenv, el cual es removido en python 3.8.

virtualenv

Use virtualenv para Python 3, disponible en python-virtualenv

$ virtualenv envname

Activación

Use uno de los scripts de shell proprocionados para activar y desactivar el entorno. Este ejemplo asume que bash es usado.

$ source envname/bin/activate
(envname) $

Una vez dentro del entorno virtual, los módulos se pueden instalar con pip y los scripts se pueden ejecutar normalmente.

Para salir del entorno virtual, ejecute la función proporcionada por bin/activate:

(envname) $ deactivate

Versiones de Python

Por defecto, los entornos virtuales se crean utilizando Python del sistema. El binario bin/python es simplemente un enlace simbólico al python del sistema:

$ ls -l envname»/bin/python
lrwxrwxrwx 1 foo foo 15 ene 29 18:48 «envname»/bin/python -> /usr/bin/python

Si desea usar una versión diferente de Python dentro del entorno virtual, puede usar la opción -p/--python de virtualenv:

$ virtualenv -p 3.8 envname
$ ls -l envname/bin/python
lrwxrwxrwx 1 foo foo 18 ene 29 18:48 «envname»/bin/python -> /usr/bin/python3.8

También se puede usar pypy3 Usado:

$ virtualenv -p pypy3 envname

virtualenvwrapper

virtualenvwrapper permite una interacción más natural con tus entornos virtuales mediante la línea de comandos, al exponer varios comandos útiles para crear, activar y eliminar entornos virtuales. Este paquete es un envoltorio para python-virtualenv.

Instalación

Instale el paquete python-virtualenvwrapper y agrega las siguientes líneas a tu ~/.bashrc:

~/.bashrc
export WORKON_HOME=~/.virtualenvs
source /usr/bin/virtualenvwrapper.sh

La línea source /usr/bin/virtualenvwrapper.sh puede causar cierta ralentización al iniciar una nueva sesión de shell. Para solucionar esto, prueba con source /usr/bin/virtualenvwrapper_lazy.sh, que cargará virtualenvwrapper la primera vez que se llamen sus funciones.

Vuelve a abrir la consola para aplicar los cambios. El directorio WORKON_HOME se creará automáticamente.

Uso básico

Consulta https://virtualenvwrapper.readthedocs.io/en/latest/ para obtener información sobre su uso (y sus capacidades de extensión).

Crea el entorno virtual (todas las opciones de línea de comandos, excepto -a, -i, -r y -h, se pasan directamente a `virtualenv`, por lo que puedes usar -p para seleccionar la versión de Python):

$ mkvirtualenv envname

Activa el entorno virtual:

$ workon envname

Instala algún paquete dentro del entorno virtual (por ejemplo, Django):

(envname) $ pip install django

Una vez finalizado el proceso, desactiva el entorno virtual:

(envname) $ deactivate

Pipenv

pipenv permite una mejor gestión de las interacciones con la CLI al proporcionar un único programa que realiza todas las funciones de las herramientas anteriores.

Instalación

Instala el paquete python-pipenv.

Uso básico

Todos los comandos se pueden ejecutar en la carpeta del proyecto, y pipenv reconocerá la situación específica: si existe un entorno virtual en el directorio, lo localizará y se ejecutará en el intérprete virtual específico cuando se ejecute pipenv.

Más información en [1], [2], [3].

Ver también