I. Visión general
En esta publicación del blog, exploraremos cómo usar pyenv-virtualenv
y autoenv
juntos para un desarrollo de Python sin interrupciones. Estas herramientas pueden ayudarte a administrar múltiples entornos y entornos virtuales de Python con facilidad, mejorando tu flujo de trabajo de desarrollo.
II. Pyenv-virtualenv
Pyenv-virtualenv
es un plugin para pyenv
que te permite crear y administrar entornos virtuales para diferentes versiones de Python. Te ayuda a mantener las dependencias de diferentes proyectos separadas, asegurando que cada proyecto tenga acceso a los paquetes que requiere sin interferencias.
Creación de un entorno virtual
Para crear un nuevo entorno virtual usando pyenv-virtualenv
, usa el siguiente comando:
pyenv virtualenv <python-version> <virtualenv-name>
Por ejemplo, si deseas crear un entorno virtual llamado my_project
usando Python 3.8.0:
pyenv virtualenv 3.8.0 my_project
Listado de entornos virtuales
Para listar todos los entornos virtuales que has creado, usa el siguiente comando:
pyenv virtualenvs
Activación de un entorno virtual
Para activar un entorno virtual, usa el siguiente comando:
pyenv activate <virtualenv-name>
Por ejemplo:
pyenv activate my_project
Desactivación de un entorno virtual
Para desactivar el entorno virtual actual, usa el siguiente comando:
pyenv deactivate
III. Autoenv
Autoenv
es una herramienta que activa automáticamente un entorno virtual cuando ingresas a un directorio que contiene un archivo .env
. Esto facilita el cambio entre proyectos sin tener que recordar activar y desactivar los entornos virtuales manualmente.
Configuración de Autoenv
Para usar autoenv
, debes crear un archivo .env
en el directorio raíz de tu proyecto. Este archivo contendrá los comandos que se deben ejecutar cuando ingreses al directorio.
Por ejemplo, supongamos que tienes un proyecto ubicado en ~/projects/my_project
y quieres usar el entorno virtual my_project
creado anteriormente. Crea un archivo .env
en el directorio ~/projects/my_project
con el siguiente contenido:
source $(pyenv root)/versions/my_project/bin/activate
Uso de Autoenv
Ahora, cuando navegues al directorio del proyecto, autoenv
activará automáticamente el entorno virtual my_project
para ti:
cd ~/projects/my_project
Deberías ver un mensaje que indique que el entorno virtual se ha activado:
autoenv: Activating environment . . .
(my_project) $
Cuando salgas del directorio del proyecto, el entorno virtual se desactivará automáticamente:
cd ~
Deberías ver un mensaje que indique que el entorno virtual se ha desactivado:
autoenv: Deactivating environment . . .
$
IV. Conclusión
Al combinar pyenv-virtualenv
y autoenv
, puedes crear un flujo de trabajo de desarrollo sin interrupciones para administrar múltiples proyectos de Python. Este enfoque garantiza que siempre uses el entorno virtual correcto para cada proyecto, y también mantiene tus dependencias separadas y organizadas.