Cómo verificar, cambiar y gestionar versiones de Python en Ubuntu [Guía completa]

1. Introducción

Al usar Python en Ubuntu, la gestión de versiones de Python es un punto importante.
Python lanza nuevas versiones regularmente y, según el entorno de desarrollo, puede ser necesario utilizar diferentes versiones.

Sin embargo, Ubuntu puede tener múltiples versiones de Python coexistiendo, lo que genera situaciones como:
«Quiero comprobar la versión actual de Python»
«Necesito usar una versión específica»
«Deseo cambiar de versión de Python»
Estas son situaciones muy comunes.

En este artículo, explicaremos en detalle cómo comprobar, cambiar y alternar versiones de Python en Ubuntu.
Con ejemplos de comandos, lo haremos de forma clara para que incluso principiantes puedan seguir los pasos sin problemas. ¡Acompáñanos hasta el final!

2. Cómo comprobar la versión de Python [¡Pruébalo ahora!]

Primero, veamos cómo comprobar la versión de Python instalada actualmente en Ubuntu.

2.1 El método más sencillo (1 segundo)

La manera más simple de comprobar la versión de Python en Ubuntu es ejecutar el siguiente comando en la terminal:

python3 --version

También puedes usar este otro comando para obtener el mismo resultado:

python3 -V

Ejemplo de ejecución:

$ python3 --version
Python 3.10.6

De esta forma se mostrará la versión actual de Python.

2.2 Diferencias con python --version

En Ubuntu, el comando python puede apuntar a Python 2.x, por lo que se recomienda usar siempre python3 --version.

Puedes comprobar si python está instalado con el siguiente comando:

python --version

Si aparece el error Command 'python' not found, significa que probablemente solo esté instalado Python 3.

2.3 Obtener información detallada de la versión

Para información más detallada de la versión de Python, ejecuta:

python3 -VV

Ejemplo de ejecución:

$ python3 -VV
Python 3.10.6 (main, Jan 16 2024, 11:25:20) [GCC 11.2.0]

Este comando muestra detalles como la versión de GCC utilizada en la compilación y la fecha de construcción.

2.4 Obtener la versión dentro de un script

Si deseas obtener la versión de Python dentro de un script, utiliza el módulo sys:

import sys
print(sys.version)
print(sys.version_info)

Ejemplo de ejecución:

$ python3 script.py
3.10.6 (main, Jan 16 2024, 11:25:20) [GCC 11.2.0]
sys.version_info(major=3, minor=10, micro=6, releaselevel='final', serial=0)

Con sys.version_info puedes obtener los elementos de la versión (mayor, menor, micro) como valores numéricos.

3. Cambiar y gestionar versiones de Python [Configurar el valor predeterminado del sistema]

En Ubuntu, pueden estar instaladas varias versiones de Python.
En esta sección, explicaremos cómo cambiar la versión predeterminada de Python que se usará en todo el sistema.

3.1 Comprobar las versiones de Python instaladas

Primero, revisa qué versiones de Python están instaladas en Ubuntu:

ls /usr/bin/python*

Ejemplo de ejecución:

$ ls /usr/bin/python*
/usr/bin/python3  /usr/bin/python3.8  /usr/bin/python3.10

Si tienes varias versiones instaladas, puedes elegir cuál será la versión predeterminada.

3.2 Cambiar la versión predeterminada con update-alternatives

En Ubuntu, puedes usar update-alternatives para alternar la versión predeterminada de Python.

Primero, comprueba la configuración actual:

sudo update-alternatives --display python

Si python no está registrado, puedes añadirlo con estos comandos:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2

Luego, selecciona la versión predeterminada:

sudo update-alternatives --config python

Ejemplo de ejecución:

There are 2 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python3.10  1         auto mode
  1            /usr/bin/python3.10  1         manual mode
  2            /usr/bin/python3.8   2         manual mode

Press <enter> to keep the current choice[*], or type selection number: 

Introduce el número de la versión que quieras usar y se cambiará la versión predeterminada de Python.

3.3 Cambiar manualmente el enlace simbólico

También puedes configurar la versión predeterminada de Python cambiando el enlace simbólico, sin usar update-alternatives:

sudo ln -sf /usr/bin/python3.10 /usr/bin/python

Con este método, el comando python apuntará a python3.10 en todo el sistema.

4. Cómo alternar versiones de Python por proyecto

Al trabajar con Python en Ubuntu, a veces necesitas gestionar diferentes versiones por proyecto.
Por ejemplo, usar Python 3.10 en un proyecto y Python 3.8 en otro.
En estos casos, es útil usar entornos virtuales (venv) o pyenv.

En esta sección veremos cómo usar entornos virtuales y pyenv para cambiar de versión de Python fácilmente.

4.1 Gestionar versiones con venv

Python incluye la función estándar venv (entorno virtual).
Con ella puedes gestionar versiones y librerías distintas dentro de un directorio específico.

Crear un entorno virtual con venv

Entra en el directorio donde quieras crear el entorno virtual y ejecuta:

python3 -m venv myenv

Esto creará un entorno virtual llamado myenv.

Activar el entorno virtual

Para activarlo, usa:

source myenv/bin/activate

Al activarlo, el prompt de la terminal cambiará.

(myenv) user@ubuntu:~/project$

En este estado, se usará el Python del entorno virtual.

Comprobar la versión en el entorno virtual

Dentro del entorno, ejecuta:

python --version

Desactivar el entorno virtual

Para salir del entorno virtual, ejecuta:

deactivate

Con este método, cada proyecto puede tener su propia versión de Python y librerías.

4.2 Gestionar versiones con pyenv

Aunque venv gestiona entornos virtuales, si quieres cambiar libremente la versión de Python en todo el sistema, lo mejor es usar pyenv.

Instalar pyenv

Para instalar pyenv en Ubuntu, ejecuta:

curl https://pyenv.run | bash

Luego, aplica la configuración con:

exec $SHELL

Instalar una versión de Python con pyenv

Para instalar una versión específica:

pyenv install 3.10.6

Para ver la lista de versiones disponibles:

pyenv install --list

Cambiar de versión con pyenv

Para cambiar la versión global del sistema:

pyenv global 3.10.6

Para usar una versión específica solo en un directorio:

pyenv local 3.8.10

Comprobar la versión actual con pyenv

Ejecuta:

pyenv versions

Así puedes gestionar fácilmente diferentes versiones de Python por proyecto.

5. Preguntas frecuentes (FAQ) [Solución de problemas]

A continuación, respondemos a dudas comunes y problemas frecuentes al gestionar versiones de Python en Ubuntu.

P1: ¿Cuál es la diferencia entre python y python3?

En Ubuntu, python3 es el estándar y python puede apuntar a Python 2.x.
Por eso, en los entornos modernos se recomienda usar siempre python3 --version.

P2: ¿Qué hacer si python --version muestra una versión distinta a la que quiero?

Puedes cambiar la versión predeterminada usando update-alternatives o pyenv.

  • Con update-alternatives:
sudo update-alternatives --config python
  • Con pyenv:
pyenv global 3.10.6

P3: ¿Por qué python3 --version funciona pero python no?

Es posible que el comando python no esté instalado en tu sistema.
Puedes solucionarlo creando un enlace simbólico:

sudo ln -sf /usr/bin/python3 /usr/bin/python

P4: ¿Cómo eliminar versiones antiguas de Python en Ubuntu?

Primero, comprueba qué versiones están instaladas:

apt list --installed | grep python

Luego, elimina la versión no deseada con:

sudo apt remove python3.6

P5: ¿Eliminar versiones antiguas de Python afecta a Ubuntu?

Algunos componentes del sistema dependen de versiones específicas de Python.
Por seguridad, verifica con python3 --version que tengas instalada la versión necesaria antes de eliminar otra.

Confirma siempre las versiones disponibles:

apt list --installed | grep python

6. Conclusión & Lecturas recomendadas

Hemos visto en detalle cómo comprobar, cambiar y alternar versiones de Python en Ubuntu.

  • Comprobar la versiónpython3 --version
  • Cambiar la versión globalupdate-alternatives o ln -sf
  • Gestionar versiones por proyectovenv (entorno virtual) o pyenv

En particular, pyenv hace mucho más sencilla la gestión de versiones.
Si necesitas «usar distintas versiones según el proyecto» o «cambiar la versión predeterminada», prueba pyenv.

Sitios relacionados

Pythonプログラミングの世界

Pythonプログラミングの世界へようこそ!初心者から上級者まで、Pythonの基礎から応用、データ分析やWeb開発まで…

 

年収訴求