Virtualenv (entorno virtual), es una herramienta para crear entornos Python aislados. Desde Python 3.3, un subconjunto de ella se ha integrado en la biblioteca estándar bajo el módulo venv. El módulo venv no ofrece todas las características de esta biblioteca, por nombrar algunas más destacadas:
- Es más lento (al no tener el método de sembrado app-data).
- No es tan extensible.
- No puede crear entornos virtuales para versiones de python instaladas arbitrariamente (y descubrirlas automáticamente).
- No es actualizable vía pip.
- No tiene una API programática tan rica (describir entornos virtuales sin crearlos).
El problema básico que se aborda es el de las dependencias y versiones, e indirectamente el de los permisos. Imagina que tienes una aplicación que necesita la versión 1 de LibFoo, pero otra aplicación necesita la versión 2. ¿Cómo puedes utilizar ambas librerías? ¿Cómo puede utilizar ambas bibliotecas? Si instalas todo en tu python anfitrión (por ejemplo python3.8) es fácil acabar en una situación en la que dos paquetes tienen requisitos contradictorios.
O más en general, ¿qué pasa si quieres instalar una aplicación y dejarla estar? Si una aplicación funciona, cualquier cambio en sus bibliotecas o en las versiones de esas bibliotecas puede romper la aplicación. Además, ¿qué pasa si no puedes instalar paquetes en el directorio global site-packages, debido a que no tienes permisos para cambiar el entorno python del host?
En todos estos casos, virtualenv puede ayudarte. Crea un entorno que tiene sus propios directorios de instalación, que no comparte bibliotecas con otros entornos virtualenv (y opcionalmente tampoco accede a las bibliotecas instaladas globalmente).
Abrimos la terminal (Ctrl + Alt + T)
sudo apt update
python –version
sudo apt install python3 python3-venv
sudo apt install virtualenv python3-virtualenv
python3 -m venv pentesting
(En este comando pueden poner el nombre que ustedes quieran, en este caso yo puse como nombre de la carpeta de mi virtualenv «pentesting«).
ls pentesting
source pentesting/bin/activate
En caso quieran clonar repositorios de GitHub, ejecutan lo siguiente como ejemplo. Depende de los repositorios.
Se preguntaran en que carpeta se encuentra el virtualenv y el repositorio clonado. Se encunetra en la carpeta de su usuario, en este caso en mi carpera de usuario jeyzeta.
Nota final: Cada vez que quieran iniciar el virtualenv, deben ejecutar el siguiente comando.
source pentesting/bin/activate
Fuente:
https://virtualenv.pypa.io/en/latest/
https://pypi.org/project/virtualenv/
No olviden que pueden comprar mi libro actualizado de OSINT!
2 Hay varios Likes!