Bienvenido a Python: Preparar un entorno virtual
Python 3.7.6 (default, Jan 8 2020, 19:59:22)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import pandas as pd
>>> print(pd.__version__)
1.0.1
Python es uno de los lenguajes de programación más populares de propósito general y de alto nivel; preferido por su legibilidad y su sintaxis fácil de aprender por aquellos que se inician en el mundo de la programación. Mientras que los programadores pueden elegir entre una gran variedad de bibliotecas y herramientas en constante crecimiento para desarrollar proyectos en desarrollo web, aplicaciones de escritorio, educación, computación científica y numérica, inteligencia artificial, desarrollo de juegos y más. Estas características hacen que importantes organizaciones como Google, Facebook, Spotify, Netflix, CERN y la NASA usen Python.
En esta guía aprenderemos sobre la importancia de los entornos virtuales Python, cómo crear, configurar y administrar entornos separados para sus proyectos de Python.
Al elaborar este artículo para la configuración de entornos virtuales Python, nos encontramos trabajando en un ordenador con el sistema operativo Feren OS, una distribución Linux; sin embargo, las instrucciones de esta guía deberían funcionar bien en otras distribuciones.
Antes había un debate sobre que versión de Python usar, Python 2.x o Python 3.x; pero, a partir de enero de 2020, Python 2 no recibe más soporte oficial, es decir, no habrá más actualizaciones ni correcciones de errores, y casi todas las bibliotecas populares han portado su código. Como tal, recomendamos aprender y usar Python 3. Puede verificar la versión de Python ejecutando la instrucción:
¿Qué es un entorno virtual?
Un entorno virtual de Python es un ambiente independiente a la instalación local que incluye la instalación de una versión particular de Python y una cantidad de librerías adicionales. Siendo el objetivo principal de los entornos virtuales, crear un entorno aislado para cada proyecto de Python. Gracias a esto podemos tener distintos entornos virtuales con diferentes versiones de Python y una versión concreta de cada librería sin crear ningún tipo de conflicto.Lo mejor, es que no hay límite para la cantidad de entornos que se puede tener, ya que estos son solo directorios que contienen scripts.
La respuesta corta es: los entornos virtuales son la forma en que Python separa las dependencias entre proyectos.
¿Porqué necesitamos un entorno virtual?
Ya que un entorno es específico para un proyecto particular y no crea conflictos con las dependencias de otros proyectos, podemos trabajar en un $proyecto A$ y usar la versión $1.3$ de la librería $X$; también desarrollar un $proyecto B$ con la versión $2.0$ de la librería $X$.Entonces, podemos resumir las razones para usar los entornos virtuales de Python:
- Organización: para evitar problemas de compatibilidad de versiones de librerías y diferentes versiones de proyectos es útil organizar en entornos virtuales.
- Estabilidad: las librerías de Python se actualizan frecuentemente, esto hace que tarde o temprano nos encontremos con problemas de compatibilidad entre sus versiones. Con los entornos virtuales podemos trabajar con diferentes versiones de una librería en diferentes entornos, de esta manera podemos hacer pruebas con las versiones más actualizadas antes de decidir su uso para un proyecto particular.
- Diferencia de versiones: aún existen muchas aplicaciones en uso desarrolladas con la versión de Python 2.x, y como programadores entendemos lo importante que es actualizarnos con nuevas tecnologías, pero no por ello debemos quedarnos con una sola y olvidar versiones anteriores. Por ejemplo, Feren OS viene preinstalado con Python 2.7 y Python 3.7 pero no la versión más actual y estable que es Python 3.8.
Crear un entorno virtual
Existen varias herramientas para crear entornos virtuales, algunas son: pyenv
, pyenv-virtualenv
, virtualenvwrapper
, pyenv-virtualenvwrapper
, pyvenv
y pipenv
creado por Kenneth Reitz (autor de $requests$).
Una biblioteca muy popular para la creación de entornos virtuales es virtualenv
, compatible con múltiples versiones de Python pero necesita ser instalado. Dado el presente y futuro de Python 3, enfatizamos más en esta versión que ya tiene integrado el módulo venv
.
Comenzamos creando un nuevo directorio para trabajar con entornos virtuales.
Ahora creamos un nuevo entorno virtual dentro del directorio creado.
La opción -m
en la línea de comando, le dice al intérprete que ejecute el módulo venv
. El segundo parámetro, proyectoA
, es el nombre del entorno virtual. Esta instrucción crea un directorio llamado proyectoA
que contiene una estructura de árbol que se puede visualizar escribiendo el comando.
Para sistemas basados en debian puede ser necesario instalar previamente el paquete python3-venv, usando la siguiente instrucción:
Activar un entorno virtual
El script de activación se encuentra en el directorio $bin$; para utilizar los recursos de un entorno se debe activar. Para ello se ejecuta la siguiente instrucción.
A continuación observamos como prefijo el nombre del entorno:
Esto significa que el intérprete de Python solo usará los paquetes y configuraciones de este entorno. Y podemos verificar la versión de Python del entorno con las instrucciones ya conocidas.
Instalando librerías en un entorno virtual
Una vez activado el entorno virtual, podemos realizar la instalación de paquetes necesarios para el proyecto, en este ejemplo vamos a instalar la librería pandas
, una herramienta de análisis y manipulación de datos de código abierto, rápida, potente, flexible y fácil de usar. Para ello usamos $pip$, un sistema de gestión de paquetes utilizado para instalar y administrar paquetes de software escritos en Python.
Ahora, podemos importar la librería en el entorno creado.
Si intentamos usar esta librería en un entorno donde no se ha instalado, se recibe un mensaje de error, para ejemplo activamos el entorno del $proyectoB$ e intentamos cargar la librería.
Traceback (most recent call last):
File "
ModuleNotFoundError: No module named 'pandas'
Desactivar un entorno virtual
Para desactivar el entorno virtual se ejecuta el siguiente comando.
Y volvemos al entorno principal donde no aparece el nombre del entorno virtual como prefijo.
Eliminar un entorno virtual
Eliminar un entorno virtual es tan fácil como eliminar un directorio, desde la terminal ejecutamos la siguiente instrucción.
Conclusiones
Ahora podemos crear diferentes entornos, ya sea para empezar nuestro primer programa en Python, el popular Hola Mundo
; o desarrollar proyectos más avanzados, videojuegos, ciencia de datos, procesamiento digital de imágenes, y mucho más. Al mismo tiempo empezar otros proyectos similares usando la versión más reciente de Python y nuevas versiones de las librerías.
Publicar un comentario
0 Comentarios