GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo administrar múltiples versiones de Python con Pyenv en Linux

Eres un programador que quiere probar tu código Python en múltiples entornos Python diferentes. ¿Qué harías? ¿Instalar una versión específica de Python y probar su código y luego desinstalar esa versión y volver a instalar otra versión diferente y probar el código? ¡No, espera! No es innecesario. Conoce a Pyenv , una utilidad de línea de comandos para administrar múltiples versiones de Python, simultáneamente. Hizo que la gestión de versiones de python fuera más fácil que nunca. Se utiliza para instalar, desinstalar y cambiar a múltiples versiones diferentes de Python.

Pyenv le permite cambiar la versión global de Python por usuario, brindar soporte para versiones de Python por proyecto, anular la versión de Python con una variable de entorno y buscar comandos de múltiples versiones de Python a la vez. Pyenv se puede usar para probar su código en múltiples entornos de python. En este tutorial, veremos cómo instalar y usar Pyenv en GNU/Linux.

Instalar Pyenv en Linux

En primer lugar, instale los siguientes paquetes para evitar los problemas de compilación comunes.

Para sistemas basados ​​en Debian:

$ sudo apt-get install -y make build-essential git libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev

Para sistemas basados ​​en RPM:

$ sudo yum install zlib-devel bzip2 bzip2-devel git readline-devel sqlite sqlite-devel openssl-devel xz xz-devel

Para SUSE/openSUSE:

$ sudo zypper in zlib-devel bzip2 libbz2-devel git readline-devel sqlite3 sqlite3-devel libopenssl-devel xz xz-devel

Acabamos de instalar los requisitos previos necesarios. Es hora de instalar Pyenv. La forma oficial y recomendada de instalar Pyenv es usando el script pyenv-installer. Todo lo que tiene que hacer es ejecutar el siguiente comando en su shell para instalar pyenv.

$ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash

Al final de la instalación, el instalador le notificará que agregue Pyenv a su RUTA. En mi caso, agregué las siguientes líneas en mi ~/.bash_profile archivo.

 export PATH="/home/ostechnix/.pyenv/bin:$PATH"
 eval "$(pyenv init -)"
 eval "$(pyenv virtualenv-init -)"

Ejecute el siguiente comando para aplicar los cambios.

$ source ~/.bash_profile

Pyenv está listo para usar. Ahora veamos cómo administrar diferentes versiones de Python usando Pyenv.

Administre varias versiones de Python con Pyenv en Linux

Primero, veamos todas las versiones disponibles. Para hacerlo, simplemente ejecute el siguiente comando:

$ pyenv install -l

O,

$ pyenv install --list

Deberías obtener una salida como la siguiente.

Available versions:
 2.1.3
 2.2.3
 2.3.7
 2.4
 2.4.1
 .
 .
 .
 3.6.2
 3.6.3
 3.6.4
 3.7.0b1
 3.7-dev
 3.8-dev
[...]

Para enumerar las versiones de Python actualmente instaladas:

$ pyenv versions
* system (set by /home/ostechnix/.pyenv/version)

De forma predeterminada, Pyenv usa nuestro sistema Python predeterminado. Aquí * indica predeterminado.

Instalar Python

Digamos que necesita las versiones de Python 2.7.14 y 3.6.4 en su sistema.

Para hacerlo, simplemente ejecute:

$ pyenv install 2.7.14

Para instalar Python 3.6.4, ejecute:

$ pyenv install 3.6.4

No necesitas derechos de sudo. Todas las versiones de Python se instalarán en un directorio separado en el directorio raíz de pyenv en su $HOME. El directorio raíz predeterminado de pyenv es ~/.pyenv . Por ejemplo, Python 2.7.14 está instalado en /home/ostechnix/.pyenv/versions/2.7.14 en mi caso.

$ ls /home/ostechnix/.pyenv/versions/
2.7.14 3.6.4

Ahora enumere las versiones de Python instaladas.

$ pyenv versions
* system (set by /home/ostechnix/.pyenv/version)
 2.7.14
 3.6.4

Cambiar entre diferentes versiones de Python

Podemos cambiar a Python diferente de dos maneras, global y localmente.

Veamos la versión global actual de python usando el comando:

$ pyenv global
system

No hay ninguno. Mi sistema todavía usa el Python predeterminado del sistema. Cambiemos a una versión de Python diferente, por ejemplo 2.7.14 .

$ pyenv global 2.7.14

Ahora comprueba la versión predeterminada de Python:

$ pyenv versions
 system
* 2.7.14 (set by /home/ostechnix/.pyenv/version)
 3.6.4

¿Notaste la estrella (*)? Sí, 2.7.14 es nuestra versión global predeterminada de Python.

También puede especificar varias versiones como Python global a la vez. Digamos que tiene dos versiones de 2.7.14 y 3.6.4. Si prefiere 2.7.14 sobre 3.6.4, simplemente ejecute:

$ pyenv global 2.7.14 3.6.4

Ahora revisa las versiones globales.

$ pyenv versions
 system
* 2.7.14 (set by /home/ostechnix/.pyenv/version)
* 3.6.4 (set by /home/ostechnix/.pyenv/version)

Ahora 2.7.14 y 3.6.4 son las versiones globales predeterminadas.

Podemos establecer una versión de Python específica de la aplicación local (por proyecto) escribiendo el nombre de la versión en un .python-version archivo en el directorio actual. Tenga en cuenta que la versión local anula la versión global y puede anularse configurando la variable de entorno PYENV_VERSION o con el comando de shell pyenv.

Cambie al directorio de su proyecto:

$ cd myproject/

Cambiemos a 3.6.4.

$ pyenv local 3.6.4

Compruebe la versión local actual de python.

$ pyenv versions
 system
 2.7.14
* 3.6.4 (set by /home/ostechnix/myproject/.python-version)

Configurar entorno virtual

Para configurar un entorno virtual con una versión específica de Python, haga lo siguiente:

$ pyenv virtualenv 3.6.4 myenv

Para que esté disponible globalmente, ejecute:

$ pyenv global myenv
(myenv) [email protected]:~$

Estás en tu entorno virtual ahora. Haz lo que quieras. Instale, elimine aplicaciones de python usando pip y otras cosas. Es todo tuyo.

Si desea configurar un entorno virtual local (por directorio):

CD al directorio de su proyecto y ejecute:

$ pyenv local mylocalenv

Para eliminar un entorno virtual, simplemente haga lo siguiente:

$ pyenv uninstall myenv
pyenv-virtualenv: remove /home/ostechnix/.pyenv/versions/3.6.4/envs/myenv? y

Eliminar una versión específica de python

Para desinstalar una versión específica de Python, por ejemplo 3.6.4:

$ pyenv uninstall 3.6.4

Alternativamente, simplemente elimine el directorio de la versión que desea eliminar.

Verifique las versiones de python actualmente instaladas:

$ pyenv versions

Para obtener más detalles, lea la sección de ayuda ejecutando el siguiente comando:

$ pyenv

Además, consulte "pyenv help " para obtener información sobre un comando específico. Por ejemplo, puede ver la información del comando "instalar" como se muestra a continuación.

$ pyenv help install

Y eso es todo. Como puede ver, ¡administrar múltiples versiones de Python es bastante fácil! Si eres un programador de Python, Pyenv es una herramienta esencial para tener en tu arsenal.

Lectura relacionada:

  • SDKMAN:una herramienta CLI para administrar fácilmente varios kits de desarrollo de software
  • Cómo gestionar varias versiones de Java con jEnv en Linux

Linux
  1. Cómo administrar usuarios con useradd en linux

  2. Cómo instalar y administrar versiones de Java en Rocky Linux 8

  3. ¿Cómo ejecutar varias versiones de PHP con Nginx en Ubuntu?

  4. Cómo trabajar con múltiples versiones de Java bajo Linux

  5. Cómo instalar/cambiar entre varias versiones de Java con SDKMAN

Cómo administrar el almacenamiento en Linux con LVM

Cómo administrar sus contraseñas con Enpass en Linux

Cómo administrar varias versiones de Java con jEnv en Linux

Cómo administrar versiones de Nodejs con n en Linux

Cómo administrar de forma remota un servidor Linux con SSH

Cómo administrar el almacenamiento con GParted Linux