"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Primeros pasos con pyenv: una herramienta imprescindible para el desarrollo de Python

Primeros pasos con pyenv: una herramienta imprescindible para el desarrollo de Python

Publicado el 2024-09-27
Navegar:626

Getting Started with pyenv: A Must-Have Tool for Python Development

¿Qué es pyeenv y por qué lo necesita?

pyenv es una herramienta simple pero poderosa que le permite administrar múltiples versiones de Python en su sistema. Como desarrollador de Python, a menudo necesitas trabajar en diferentes proyectos que requieren diferentes versiones de Python. La gestión manual de estas versiones puede resultar engorrosa y propensa a errores. Aquí es donde entra en juego pyenv, lo que facilita el cambio entre versiones de Python y garantiza que sus proyectos siempre se ejecuten en la versión correcta.

¿Por qué utilizar pyenv?

  • Administración de versiones: instala y cambia entre diferentes versiones de Python sin esfuerzo.

  • Aislamiento de proyectos: asegúrese de que cada proyecto utilice la versión correcta de Python, evitando problemas de compatibilidad.

  • Flexibilidad: prueba fácilmente tu código en múltiples versiones de Python.

Si alguna vez ha tenido problemas con conflictos de versiones o ha tenido que trabajar con Python 2.x y 3.x en la misma máquina, apreciará cómo pyenv simplifica su flujo de trabajo de desarrollo.

Integrando pyenv con la poesía

pyenv funciona excepcionalmente bien con Poetry, una herramienta que gestiona dependencias y entornos Python. Si ya estás familiarizado con Poetry (y si no lo estás, consulta mi artículo sobre cómo comenzar con Poetry), descubrirás que combinarlo con pyenv te brinda aún más control sobre tus proyectos.

Cuando creas un nuevo proyecto con Poetry, automáticamente usa la versión de Python que pyenv ha configurado para el directorio. Esto garantiza que las dependencias de su proyecto se gestionen en un entorno que coincida con los requisitos de su proyecto.

Instalando pyenv

Comencemos instalando pyenv. El proceso de instalación varía según su sistema operativo.

En MacOS

Usando Homebrew:

brew update
brew install pyenv

Para evitar que se vinculen accidentalmente con un Python proporcionado por Pyenv, agregue la siguiente línea en la configuración de su shell interactivo:

  • Bash/Zsh:
alias brew='env PATH="${PATH//$(pyenv root)\/shims:/}" brew'
  • Pez:
alias brew="env PATH=(string replace (pyenv root)/shims '' \"\$PATH\") brew"

En Linux

  • Usando rizo:
curl https://pyenv.run | bash

Después de la instalación, agregue lo siguiente a su archivo de configuración de shell (por ejemplo, .bashrc, .zshrc):

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
  • Usando el Administrador de paquetes En Arch Linux se puede instalar con ayuda de pacman
sudo pacman -S pyenv

agregue los comandos a ~/.bashrc ejecutando lo siguiente en su terminal:

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

Para Zsh:

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

Para pescado:
Si tienes Fish 3.2.0 o posterior, ejecuta esto de forma interactiva:

set -Ux PYENV_ROOT $HOME/.pyenv
fish_add_path $PYENV_ROOT/bin

De lo contrario, ejecute el siguiente fragmento:

set -Ux PYENV_ROOT $HOME/.pyenv
set -U fish_user_paths $PYENV_ROOT/bin $fish_user_paths

Ahora, agrega esto a ~/.config/fish/config.fish:

pyenv init - | source

Para más detalles, consulta su GitHub.

Usando Pyenv

1) Comprobando la versión de Python

Para comprobar la versión de Python actualmente en uso:

❯ pyenv versions
* system (set by /home/shanu/.pyenv/version)

2) Instalación de versiones de Python

Con pyenv, puedes instalar cualquier versión de Python fácilmente:

❯ pyenv install 3.11.9

Después de instalar una versión de Python, se puede configurar global o localmente para un proyecto

3) Configuración de la versión global de Python

No recomendado, puede causar problemas con su sistema
Puedes configurar una versión global de Python que se usará de forma predeterminada en todo tu sistema:

pyenv global 3.10.6 

4) Configuración de la versión local de Python

También puede configurar una versión local de Python para un directorio de proyecto específico. Esta versión anulará la versión global cuando esté en ese directorio:

❯ pyenv local 3.8.10

❯ pyenv versions
  system
* 3.11.9 (set by /home/shanu/test_folder/.python-version)

❯ python -V
Python 3.11.9 (my global version is 3.12.5)

Para desarmarlo, simplemente ejecuta:

❯ pyenv local --unset

❯ pyenv versions
* system (set by /home/shanu/.pyenv/version)
  3.11.9

❯ python -V
Python 3.12.5

5) Desinstalación de versiones de Python

Para desinstalar una versión de Python que ya no es necesaria:

pyenv uninstall 3.11.9

Conclusión

Pyenv es una herramienta invaluable para los desarrolladores de Python, especialmente cuando se usa junto con Poetry. Al administrar las versiones de Python sin esfuerzo, le permite concentrarse en escribir código en lugar de preocuparse por los conflictos de versiones. ¡Pruébalo en tu próximo proyecto de Python!

Declaración de liberación Este artículo se reproduce en: https://dev.to/shanu-kumawat/getting-started-with-pyenv-a-must-have-tool-for-python-development-1d3j?1 Si hay alguna infracción, por favor contacto Study_golang@163 .comeliminar
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3