{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Tutorial: Uso de Pyenv para Gestionar Versiones de Python\n", "\n", "En este notebook, aprenderás a:\n", "- Instalar y configurar `pyenv`.\n", "- Usar `pyenv` para instalar y gestionar versiones específicas de Python.\n", "- Crear un entorno virtual en la misma carpeta usando `venv`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Instalación de Pyenv\n", "\n", "`pyenv` es una herramienta para gestionar múltiples versiones de Python en un mismo sistema. A continuación, se muestra cómo instalarlo." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Instalación de Pyenv en sistemas basados en Unix\n", "!curl https://pyenv.run | bash\n", "\n", "# Configuración del entorno\n", "echo 'export PATH=\"$HOME/.pyenv/bin:$PATH\"' >> ~/.bashrc\n", "echo 'eval \"$(pyenv init --path)\"' >> ~/.bashrc\n", "echo 'eval \"$(pyenv init -)\"' >> ~/.bashrc\n", "source ~/.bashrc" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Verificación de la instalación de Pyenv\n", "Después de instalar Pyenv, verifica que está funcionando correctamente ejecutando el siguiente comando:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "!pyenv --version" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Instalación de una versión específica de Python\n", "Utiliza Pyenv para instalar la versión de Python que necesites. Por ejemplo, instalemos Python 3.9.10:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "!pyenv install 3.9.10" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Uso de la versión instalada de Python\n", "Selecciona la versión instalada como la predeterminada para el directorio actual:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "!pyenv local 3.9.10" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Creación de un entorno virtual con `venv`\n", "Usa el módulo `venv` incluido en Python para crear un entorno virtual en la misma carpeta. Esto es útil para gestionar dependencias específicas de un proyecto." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Crear un entorno virtual llamado 'venv' en la carpeta actual\n", "!python -m venv venv" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Activación del entorno virtual\n", "Activa el entorno virtual ejecutando el siguiente comando:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Activación en sistemas Unix\n", "!source venv/bin/activate" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Comprobación del entorno activo\n", "Después de activar el entorno, verifica que estás utilizando la versión correcta de Python:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "!python --version" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Instalación de dependencias en el entorno virtual\n", "Mientras el entorno virtual está activo, puedes instalar paquetes específicos con `pip`:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Ejemplo: instalación de 'requests'\n", "!pip install requests" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Desactivación del entorno virtual\n", "Cuando termines de trabajar en el proyecto, puedes desactivar el entorno virtual:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "!deactivate" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Limpieza del entorno\n", "Si ya no necesitas el entorno virtual, puedes eliminarlo simplemente borrando la carpeta `venv`:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "!rm -rf venv" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }