Entornos virtuales
Para tener varias versiones de una misma biblioteca no es necesario desinstalarla y volverla a instalar, con los entornos virtuales podemos crear varios entornos y en cada uno instalar una versión diferente de una misma biblioteca. Como se ve en la imagen a continuación. Los entornos virtuales python sirven para crear proyectos aislados.
En este post crearé un entorno virtual para python en la terminal de Ubuntu usando virtualenv. Recuerda que hay otras herramientas para crear entornos virtuales, como venv o conda que revisaremos en otro post. También puedes revisar el siguiente video asociado a entornos virtuales.
Cómo crear un entorno virtual con virtualenv
Para crear el entorno virtual debemos tener instalado lo siguiente:
– Python es un lenguaje de programación de alto nivel.
– Virtualenv es una herramienta para crear entornos Python aislados.
– Pip es un instalador de paquetes para Python.
Verificar que Python, pip y virtualenv esten instalados
Es posible que ya tengas instalado Python, pip y virtualenv en Ubuntu, así que primero verifiquemos su instalación. Escribo en la terminal de Ubuntu los siguientes comandos.
python3 --version
pip --version
virtualenv --version
Nota: Si no funciona con python3 puede que tengas instalado otra versión intenta con python –version o también con python2 –version. Yo tengo instalado python3, así que estos ejemplos los realizaré con esa versión.
- Si no tienes instalado pip puedes usar el siguiente comando1:
sudo apt-get install python3-pip
- Si no tienes instalado virtualenv puedes usar el siguiente comando1:
sudo pip3 install virtualenv
Crear el entorno virtual
En el escritorio tengo una carpeta con el nombre EjemploEntornos
(Tú puedes crear tu carpeta en cualquier dirección). Desde la terminal usando el comando cd
me ubico en la dirección /Escritorio/EjemploEntornos
ahí crearé miEntorno1
con el siguiente comando:
virtualenv miEntorno1
Y verifico que en la dirección /Escritorio/EjemploEntornos/miEntorno1
se crearon varias carpetas, como se ve en la imagen a continuación.
Activar el entorno virtual
Para activar el entorno virtual debo acceder a la carpeta bin. Puedo hacerlo de dos maneras.
- La primera forma es escribiendo directamente el siguiente comando:
source miEntorno1/bin/activate
Antes del nombre de usuario aparecerá entre paréntesis el nombre del entorno (miEntorno1)
, esto indica que el entorno virtual está activo.
- La segunda forma es navegar con ayuda del comando
cd
yls
hasta llegar a la carpetabin
. Dentro de la carpetabin
escribo el siguiente comando:
source activate
Aparece el nombre del entorno entre paréntesis (miEntorno1)
así que el entorno está activo. Para retroceder entre carpetas usa cd ..
No necesariemente debemos estar ubicados donde creé y activé miEntorno1
para escribir los scripts o instalar las bibliotecas. En este post voy a retroceder desde bin
hasta la carpeta de usuario usando c
d
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
En la página oficial de pip puedes encontrar muchas bibliotecas y sus versiones actuales y las anteriores también.
Revisar las bibliotecas instaladas en un entorno virtual
Revisa las bibliotecas instaladas en virtualenv con la siguiente linea:
pip freeze
Aunque instalé solo openCv y Matplotlib aparecen mas bibliotecas porque son complementarias.
Ejecutar un script en en entorno virtual
El script que voy a ejecutar muestra varias imágenes y usa las bibliotecas OpenCV y Matplotlib. En el escritorio tengo una carpeta llamada «MostrarImagenes» dentro de esa carpeta está el script mostrarImagen.py
y una carpeta con imágenes que el script usa para funcionar. Nuestro entorno virtual es perfecto para ejecutar este script porque tiene instalado openCV y Matplotlib.
Con el entorno activo desde la terminal y con ayuda del comando cd
voy hasta la carpeta «MostrarImagenes» donde está el script mostrarImagen.py
Para ejecutar el script, se usa python3 más el nombre del script.
python3 mostrarImagen.py
Y ya has ejecutado un script con tu entorno virtual creado.
Desintalar una biblioteca del entorno virtual
Para desinstalar una librería del entorno se debe usar la palabra uninstall
seguido del nombre con el que se instaló la biblioteca, como se muestra a continuación. Desintalaré opencv-python
:
pip uninstall opencv-python
Nota: Si la biblioteca tiene una versión específica, se debe añadir en el nombre la versión al igual que la momento de instalar.
Migrar un entorno virtual a otro entorno virtual
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 desde la terminal. Aqui se creó en la carpeta «MostraImagenes»
En este ejemplo el archivo requirements.txt
contendrá los siguiente:
Aquí migraré las bibliotecas de miEntorno1
a un nuevo entorno llamado otroEntorno
. Entonces creo el nuevo entorno
Copio y pego en la misma carpeta del nuevo entorno el arhivo requirements.txt
Y en la terminal escribo el siguiente comando:
pip install -r requirements.txt
Si todo ha salido bien tendrás los paquetes instalados en tu otro entorno. Si en tu nuevo entorno escribes pip freeze apareceran las bibliotecas que fueron instaladas
Para limpiar la pantalla del cmd escribe clear
Referencias
1. Entornos virtuales – documentación python
Hola!
Hola! Bienvenida 😀
Pingback: Entornos virtuales Python en Windows - Virtualenv - Kipuna Ec
hola, consulta, tengo instalado Miniconda en Ubuntu, desde la terminal quiero instalar el interprete de ‘R’ en la versi{on 4.11, cuál sería la sintaxis si me podrías guíar
Vi un video tuyo en youtube, y me gusto mucho como mostraste el programa de python, voy a seguirte 🙂