En este post crearé un entorno virtual para Python desde el cmd de Windows usando virtualenv. También puedes revisar el siguiente video asociado a entornos virtuales.
Puedes encontrar entornos virtuales cn virtualenv en Ubuntu aquí
Cómo crear un entorno virtual con virtualenv en Windows
Para crear el entorno virtual debemos tener instalado lo siguiente:
– Python es un lenguaje de programación de alto nivel.
– Pip es un instalador de paquetes para Python.
– Virtualenv es una herramienta para crear entornos Python aislados.
Verificar que Python, pip y virtualenv esten instalados
Para verificar usamos los siguientes comandos:
python --version
pip --version
virtualenv --version
Nota: Puede que tengas instalado otra versión intenta con python2 –version o también con python3 –version.
Crear el entorno virtual
En el escritorio tengo una carpeta con el nombre ejEntornos
(Tú puedes crear tu carpeta en cualquier dirección). Desde el cmd
usando el comando cd
me ubico en la dirección C:\Users\Usuario\Desktop\ejEntornos
, ahí crearé miEntorno1
con el siguiente comando:
virtualenv miEntorno1
Y verifico que en la carpeta del entono se crearon estas carpetas
Activar el entorno virtual
Para activar el entorno virtual debo acceder a la carpera Scripts
. Puedo hacerlo de dos maneras:
- La primera forma es escribiendo dirctamente este comando:
.\miEntorno1\Scripts\activate
Antes del nombre de usurio aparece el nombre del entorno(miEntorno1)
, indicando que el entorno ha sido activado.
- La segunda forma es ingresar hasta la carpeta Scripts y escribir activate
activate
Aparece el nombre del entorno entre paréntesis (miEntorno1)
indicando que el entorno está activo.
Si ingresaste a la carpeta Scripts
para retroceder entre carpetas usamos cd ..
No necesariamente debemos estar ubicados donde creé y activé miEntorno1
para escribir códigos o instalar paquetes. En este post voya retroceder desde bin
hasta Desktop
Instalar paquetes con pip en el entorno virtual
Instalaré OpenCV y Matplotlib a traves de pip. Recuerda que, para que las bibliotecas se instalen en el entorno miEntorno1
este debe estar activo.
pip install opencv-python
- Matplotlib
pip install matplotlib
Revisar las bibliotecas instaladas en un entorno virtual
Para revisar las bibliotecas instaladas en virtualenv usa la siguente línea:
pip freeze
Ejecutar un script en el entorno virtual
El script que voy a ejecutar y usa las bibliotecas OpenCV. En el escritorio tengo una carpeta llamada ExtraerFrames
dentro de esa carpeta está el script extraerFrames.py
, un video gato.mp4
, y una carpeta llamada frames
(ahí se guardarán los frames). Nuestro entorno virtual es perfecto para ejecutar este script porque tiene instalado openCV
Con el entorno activo desde el cmd
y con el comando cd
voy hasta la carpeta que aloja el script extraerFrames.py
Para ejecutar el script uso la variable de entorno python con el nombre del script, así:
python extraerFrames.py
Y como resultado aparecerán los fotogramas del video almacenados en la carpeta frames
Desinstalar un paquete del entorno virtual
Para desintalar una biblioteca del entorno se debe usar la palabra uninstall
seguido del nombre con el que se instaló la biblioteca, como se muestra a continuación. Desinstalaré matplotlib
:
pip uninstall matplotlib
Nota: Si la biblioteca tiene una versión específica, se debe añadir en el nombre la versión al igual que al momento de instalar
Migrar un entrno virtual a otro
Para migrar un entorno debo crear un archivo llamado requirements.txt
, este archivo contendrá todas las bibliotecas que el entorno tiene instaladas. Uso la siguiente línea:
pip freeze > requirements.txt
El archivo requirements.txt
se creará en la dirección que estemos ubicados en el cmd
. Aquí se creará en la carpeta ExtraerFrames
En este ejemplo el archivo requirements.txt
contendrá los siguiente:
Migraré las bibliotecas de miEntorno1
al entorno otroEntorno2
. entonces creo el nuevo entorno
Copio y pego en la misma carpeta del nuevo entornos el archivo requirements.txt
Activo el entorno. Y ejecuto el siguiente comando:
pip install -r requirements.txt
Para limpiar la pantalla del cmd escribe cls