Xestión de versións de Python con Pyenv
Xestión de versións de Python con Pyenv
Introducción
Cando traballamos con Python, podemos ter a necesidade de traballar con distintas versións do mesmo. Ou pode que queiramos ter entornos separados, con distintas dependencias ou que non queiramos contaminar o noso espazo de traballo. Isto podemos conseguilo con varias ferramentas, por exemplo Pyenv.
Pyenv permite crear distintos entornos de desenvolvemento, nos que poderemos ir configurando os requisitos para cada un deles, sen que interfiran nos demáis. Por exemplo:
- Traballar con distintas versións de Python: podemos ter instaladas distintas versións, sen que causen conflicto coa versión do sistema. O que nos permitirá probar o noso código con distintas versións para ver a compatibilidade.
- Ter entornos de traballo independentes: con distintas dependencias e paquetes, que só se utilizarán nese entorno e que desaparecerán ao borrar o entorno.
Instalación
Para instalar Pyenv en OpenSuse Tumbleweed, nada máis sinxelo que executar sudo zypper in pyenv. Unha vez temos instalado Pyenv, precisamos virtualenv.
Este instarémolo dende github con git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv.
$(pyenv root) será automáticamente sustituído pola ruta onde temos a configuración de Pyenv, no meu caso /home/user/.pyenv.
Para telo dispoñible, deberemos agregar as seguintes liñas no noso .bashrc e executar source .bashrcpara recargar a configuración.
# Pyenv init
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
# Pyenv‑Virtualenv init
eval "$(pyenv virtualenv-init -)"
Instalando versións de Python
O primeiro será ver que versións de Python temos dispoñibles para instalar.
Para isto executaremos pyenv install --list e obteremos unha lista con toda-las
versións que podemos obter.
$ pyenv install --list
Available versions:
2.1.3
2.2.3
2.3.7
2.4.0
2.4.1
2.4.2
2.4.3
2.4.4
2.4.5
2.4.6
2.5.0
2.5.1
2.5.2
... (a lista é demasiado longa para pola completa aquí 😅)
Unha vez vemos a versión que queremos instalar executamos pyenv install -v versión. Mudando versión pola que queremos, tal cual aparece na lista.
Para eliminar unha versión pyenv uninstall -v versión.
Non tiven problemas durante as probas, pero parece que hai casos nos que desinstalar unha
versión, pode dar problemas. Pero a solución é doada.
Se nos ocorre isto, tan só necesitamos ir á nosa carpeta de usuario e entrar na carpeta .pyenv/versions e borrar a que queiramos.
Con pyenv versions podemos ver o listado das versións instaladas.
Creando entornos virtuais
Con isto temos a ferramenta e a versión, pero todavía non estamos utilizando un entorno, non o temos nin creado. Así que antes de instalar ningunha dependencia,
proxecto ou o que sexa, imos crear un entorno virtual. Faise co comando pyenv virtualenv versión_de_python nome_do_entorno.
Mudando a versión e o nome polos que queiramos.
Accedendo aos entornos
Para entrar nun entorno executaremos pyenv activate nome_do_entorno e para saír pyenv deactivate nome_do_entorno.
Exemplo
Para este exemplo quero utilizar Aider.chat, unha aplicación para executar LLMs na terminal. Un dos requisitos que teñen é ter instalado Python entre as versións 3.8 e 3.13. Ten outras dependencias para por exemplo poder comunicarnos a través de voz co asistente, pero son dependencias que non quero ter polo medio no meu sistema.
pyenv install -v 3.13.0pyenv virtualenv 3.13.0 aiderpyenv activate aider- Instalamos a aplicación:
python -m pip install aider-install && aider-install```text export OLLAMA_API_BASE=http://127.0.0.1:11434 aider –model ollama_chat/deepseek-coder:1.3b SAÍDA:
You can skip this check with –no-gitignore
Add .aider* to .gitignore (recommended)? (Y)es/(N)o [Yes]: yes
Added .aider* to .gitignore
Aider v0.86.1
Model: ollama_chat/deepseek-coder:1.3b with whole edit format
Git repo: .git with 29 files
Repo-map: using 2048.0 tokens, auto refresh
```
Neste punto xa podía chatear ca aplicación.
pyenv deactivatepara saír do entorno virtual
Conclusión
Os xestores de espacios virtuais permiten que poidamos ter distintas versións de tecnoloxías, neste caso de Python, de librarías, etc. Se ben Pyenv non é o único, foi o que escollín agora para probar.
O caso é que con ferramentas coma esta, podemos ter distintos entornos para probar aplicacións, dependencias, etc. Sen contaminar o noso sistema base, evitando os problemas por ter varias versións instaladas ou librarías incompatibles.
Artigos Relacionados:
- Activar certificados locales autofirmados
- Executando modelos de IA en local con Jan.ai
- Instalar Displaylink openSuse Tumbleweed
- Crear un PNG animado con FFMPEG
- Presenterm
- Cómo instalar Traefik con docker
- Configurar sshfs para acceder al sistema de ficheros de forma segura
- Xerando un proxecto dende 0 con IA
- Crear snippets/fragmentos en Kate
- Introducción a ElasticSearch
- Refactoring: Improving the Design of Existing Code
- error: gpg failed to sign the data
- Controlar la temperatura del equipo con bash y telegram
- Cómo instalar Traefik con docker
- The Programmer's Brain
- Command Query Responsibility Segregation by Example