Edison Ibáñez d9cd5bf63b pyenv | 5 éve | |
---|---|---|
.. | ||
img | 5 éve | |
readme.org | 5 éve |
which python
python -V
Para instalar una librería se debe usar sudo pip install pkg
, esto puede
resultar problemático si otro usuario necesita una versión diferente del mismo
paquete.
Si usar sudo pip
puede resultar problemático lo mas lógico es usar el gestor
de paquetes de nuestro sistema operativo ~apt, yum, zipper, pacman, apk, etc.~
Pero esto también puede llegar a ser in problema debido a la versión de los
paquetes que están disponibles en los repositorios oficiales.
pyenv
compila cada versión desde el código o fuentes por lo que es necesario
tener todas las dependencias necesarias en neutro sistema, esta información se
la puede encontrar en la Documentación oficial de Python.
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
sudo yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel
zypper in zlib-devel bzip2 libbz2-devel libffi-devel \
libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel
apk add libffi-dev ncurses-dev openssl-dev readline-dev \
tk-dev xz-dev zlib-dev
pyenv
originalmente no tiene soporte para MS Windows, sin embargo existe un
proyecto que llego esta herramienta al sistema de la ventana y se puede
encontrar en el siguiente enlace: https://github.com/pyenv-win/pyenv-win
En lagunas distribuciones GNU/Linix se puede encontrar un paquete oficial de
~pyenv~ por lo que la instalación se la puede hacer usando el gestor de paquetes
de nuestro sistema (apt, yum, zipper, apk o pacman).
Podemos hacer uso del instalador con el siguiente comando.
curl https://pyenv.run | bash
pyenv
pyenv
pyenv
y sus dependencias seAhora nos falta cargar de forma automáticamente pyenv
# Load pyenv automatically by adding
# the following to ~/.bashrc:
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
Ahora que ya tenemos disponible y cargado pyenv
en nuestro sistema podremos
empezar a instalar la versión de Python que necesitemos.
Listar las versiones disponibles de Python 2
pyenv install --list | grep " 2\.[678]"
pyenv install --list | grep " 3\.[678]"
pyenv install --list | grep "jython"
pyenv install --list
CC=clang pyenv install -v 3.7.1
Si se encuentra algún problema durante la instalación se puede consultar el siguiente enlace https://github.com/pyenv/pyenv/wiki/Common-build-problems
Como se menciono anterior pyenv
trabaja con el código fuente de cada versión
de Python se encenta en la siguiente ubicación.
ls -l ~/.pyenv/versions/
Para eliminar una versión instalada se puede simplemente eliminar dicha versión de la ubicación donde se instalo.
rm -rf ~/.pyenv/versions/3.7.1
o ejecutando el comando que ofrece pyenv
pyenv uninstall 3.7.1
Primero debemo comprbar las versiones disponibles.
pyenv versions
El simobolo * nos indica que version de python se encontra activa. Ahora si confirmamos la ruta del binario obtendremos lo siguiente.
which python
Si queremos cambiar la version por defecto Python para nuestro usuario podemos hacerlo de la siguiente manera.
pyenv global 3.7.1
Para regresar a la version de nuestro sistema basta con ejecutar.
pyenv global system
pyenv install 3.7.1
pyenv versions
pyenv which pip
pyenv global 3.7.1
pyenv local 3.7.1
pyenv shell 3.7.1
Con pyenv
se puede especificar una Versión de Python para un proyecto, basta
con ir a la carpeta que contiene dicho proyecto y ejecutar.
pyenv local 3.7.1
Esto crea un archivo llamado ~.python-version~ que contiene la versión que especificamos. Con esto cada vez que trabajemos con ese proyecto estaremos usando la versión de Python que especificamos con anterioridad.
Podemos tener Varios Entornos Virtaules de Python con una version especifica del
lenguage, usando el subcomando virtualenv
seguido de la version de python y el
nombre del entorno virtual.
pyenv virtualenv <python_version> <virtualenv>
pyenv virtualenv 3.7.1 meetup
Una vez creado el entorno solo nos falta especificar el entorno virtual en nuestro proyecto.
pyenv local <virtualenv>
pyenv local meetup