Cómo cambiar la versión de Python en Linux usando Pyevn

Cómo cambiar la versión de Python en Linux usando Pyevn

¿Necesita ejecutar una pieza de software que requiera una versión diferente de Python que la que ha instalado en su sistema?? Hay varias formas en que puede resolver este problema, pero el más fácil se basa en una herramienta llamada pyenv. Discutamos brevemente qué hace Pyenv y por qué debería usarlo antes de explicar exactamente lo que necesita hacer para cambiar la versión Python predeterminada con ella.

¿Qué es pyenv y cómo funciona??

Pyenv es una herramienta de administración de versiones de Python hecha de scripts de shell puro, lo que significa que no depende de Python. Eso es bueno porque lo último que desea es contaminar su entorno instalando una herramienta que se supone que lo ayudará a administrarlo mejor.

La belleza de Pyenv proviene del hecho de que simplemente agrega un directorio en la parte superior de su ruta $, una variable que le dice al sistema operativo Linux dónde buscar ejecutables, como Python. Este nuevo directorio contiene un ejecutable ligero que pasa su comando a Pyenv.

Puede usar el siguiente comando para mostrar su ruta $ actual:

$ echo $ ruta

Debería ver múltiples directorios separados por colons:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Para hacer que la salida sea mejor, puede usar una versión más sofisticada del comando anterior:

$ echo -e $ ruta //:/\\ n
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/papelera
/usr/juegos
/usr/local/juegos

Cuando usa el comando Python para iniciar una pieza de software, el sistema operativo pasa por los directorios en la variable de ruta $ de arriba a abajo hasta que encuentre uno que contenga el ejecutable relevante.

Para ver rápidamente qué directorio es, use el comando whereis:

$ Whereis Python
/usr/bin/python

El comando Python -V puede decirle qué versión de Python está instalada:

$ python -v
Python 2.7.18

Para permitirle usar cualquier versión de Python que desee sin meterse con la que vino instalada con su sistema operativo, PyenV manipula la variable de ruta $, lo que le permite cambiar la versión global de Python de manera fácil. Además, también puede usar versiones específicas de Python para proyectos individuales o establecer una versión particular de Python solo para su sesión de shell actual.

Cómo instalar pyenv?

Antes de instalar pyenv en sí, debe asegurarse de que no haya dependencias del sistema no satisfechas:

$ sudo apt-get actualización; sudo apt-get install hará libssl de construcción de construcción zlib1g-dev libbz2-dev bírase-devel-dev LBSQLITE3-DEV GIT WGET CURL LLVM LIBNCURSESW5-DEV XZ-UTILS

Una vez hecho esto, puede usar el instalador automático para instalar pyenv en su sistema Linux:

$ curl https: // pyenv.carrera | intento

Entonces debe agregar las siguientes líneas a su ~/.BASHRC o archivo de configuración equivalente si está utilizando un shell diferente a la bash:

Path de exportación = "$ Home/.pyenv/bin: $ ruta "
eval "$ (pyenv init -)"
eval "$ (pyenv virtualenv -init -)"

No te preocupes; El instalador automático le dirá exactamente lo que necesita agregar y dónde. Finalmente, puede reiniciar su carcasa (cierre su terminal) y verificar que PyenV se haya instalado correctamente mostrando su versión actual:

$ pyenv --versión
pyenv 2.2.4

Cómo cambiar la versión de Python usando pyenv?

Para cambiar la versión de Python con PyenV, primero debe instalar al menos una versión de Python usando el comando de instalación de pyenv. Simplemente escriba la versión deseada después del comando:

$ pyenv instalación 3.10.2

Para mostrar una lista de todas las versiones disponibles, haga lo siguiente:

$ pyenv instalación -Lista

Hay muchas versiones diferentes para elegir, por lo que no las copiaremos y pegaremos aquí para ahorrar su rueda de desplazamiento el esfuerzo que se necesitaría para revisarlos a todos.

Dado que el comando Python Print Version (Python -V) que usamos anteriormente en este artículo solo le diría cuál es la versión del sistema Python, debe usar el comando de versiones Pyenv para ver qué versiones ahora están disponibles para pyenv:

$ Pyenv versiones
* Sistema (establecido por/home/David/.pyenv/versión)
2.7.17
3.7.10
3.10.2

Como puede ver, Pyenv ahora es consciente de tres versiones de Python: la versión del sistema (2.7.18 en nuestro caso), 2.7.17, 3.7.10 y 3.10.2.

Ahora, cambiar la versión de Python en la base global, local o shell es una cuestión de comando único:

$ pyenv global 2.7.17
$ pyenv local 3.7.10
$ pyenv shell 3.10.2

En nuestro caso, utilizamos el comando global para degradar la versión 2 de Python.7.18 a la versión 2.7.17. Para verificar que hemos logrado el resultado deseado, podemos usar dos comandos familiares:

$ Pyenv versiones
sistema
* 2.7.17 (establecido por/home/David/.pyenv/versión)
3.10.2
3.7.10
y
$ python -v
Python 2.7.17

Así de fácil es degradar la versión de Python usando pyenv! Después de un tiempo, es posible que desee eliminar algunas versiones de Python que ya no necesita. El siguiente comando te permite hacer exactamente eso:

$ pyenv desinstalar

Puede ver comandos PyenV más útiles escribiendo ayuda Pyenv en la terminal. También le recomendamos que lea la documentación oficial sobre GitHub para comprender mejor cómo funciona Pyenv bajo el capó.

Conclusión

Cambiar o degradar la versión de Python es algo prácticamente todos los desarrolladores e incluso algunos usuarios avanzados de Linux tienen que hacer en algún momento. Afortunadamente, herramientas como Pyenv hacen que la tarea sea sin esfuerzo, lo que le permite lograr el objetivo deseado con algunos comandos simples.