馃悕 Setup Python con multiples versiones
He visto 煤ltimamente lo complicado que se hace trabajar adecuadamente con
multiples repositorios o diferentes versiones de Python usando pipenv
.
Por eso he creado esta gu铆a de Python usando pyenv y pipenv, los cuales sirven para tener un mayor control tanto de la versi贸n c贸mo de las dependencias evitando errores, en este caso Ubuntu 22.04 con zsh.
驴C贸mo funciona?
Toda la gesti贸n de versiones de Python es gestionada usando pyenv
, mientras
que pip el gestor de
dependencias para el entorno global de la versi贸n de Python. Asegur谩ndonos
siempre primero de mirar la versi贸n python -V
, vamos a instalar y
pipenv que ser铆a un gestor de entornos con
dependencias, sirve para instalar las cosas en el entorno en vez del entorno
global y que las dependencias no se choquen.
En la documentaci贸n de los repositorios hay m谩s informaci贸n para otras versiones.
Pyenv
Lo primero a instalar es pyenv
, idea usando el siguiente comando
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
Una vez clonado lo siguiente es a帽adir el comando a zsh
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc echo 'eval "$(pyenv init -)"' >> ~/.zshrc
Actualizamos el fichero ~/.zshrc
source ~/.zshrc
Ahora claro ya lo tenemos, si el proyecto nos requiere python 3.7, por ejemplo, vamos a instalarlo, pero antes tenemos que instalar las dependencias de Python.
sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
pyenv install 3.7.15
Ahora ya podemos mirar si ha cambiado la versi贸n, si anteriormente no ten铆as python pone esta versi贸n como global, pero si ya hab铆a uno no la cambia.
python3 --version
Python 3.7.15
Perfecto ya tenemos la versi贸n que necesitamos, en caso de querer cambiarla seg煤n el 谩mbito y que no sea global, dejo el link a la documentaci贸n.
馃毃 Cuidado con cambiar la version global, otros programas del sistema pueden estar utiliz谩ndola.
Pipenv
Si acabas de instanciar la versi贸n hay que instalar pip
y pipenv
para poder
usarlo.
python -m pip install -U pip
pip install pipenv
Finalmente dentro de la proyecto desde la terminal a la misma altura que el
Pipfile
(fichero que contiene las dependencias) instalamos sus dependencias y
se crear谩 un entorno con el nombre del proyecto al ejecutar...
pipenv install --dev
Nota si ya tenias un entorno de pipenv creado anteriormente, recomiendo borrarlo y volver a instalar.
Gracias por llegar hasta aqu铆, espero que todo vaya bien y a darle Python