Python Módulo 1 – Primeros pasos: instalar, ejecutar y leer Python
Instalar Python 3.14 en Windows, macOS y Linux
Instala Python 3.14 en Windows, macOS o Linux, comprueba qué intérprete ejecuta de verdad tu terminal y arregla los problemas de PATH detrás de “command not found”.
Qué vas a aprender
- Instalar Python 3.14 desde python.org o desde la fuente recomendada para tu sistema
- Comprobar la instalación desde un terminal y arreglar los problemas de PATH
- Elegir entre las órdenes py, python y python3 en cada sistema
- Comparar números de versión como tuplas de números, no como texto
Antes de empezar
Qué vas a aprender · Antes de empezar
Qué vas a aprender
- Instalar Python 3.14 desde python.org o desde la fuente recomendada para tu sistema
- Comprobar la instalación desde un terminal y arreglar los problemas de PATH
- Elegir entre las órdenes py, python y python3 en cada sistema
- Comparar números de versión como tuplas de números, no como texto
Antes de empezar
En esta página
Para seguir este curso en tu propia computadora necesitas Python 3.14 o posterior. Un Mac puede tener a la vez el python3 más antiguo de Apple y tu nuevo 3.14, y el terminal ejecuta el que encuentra primero. Instalar lleva unos minutos; donde la gente se atasca es en asegurarse de que el terminal ejecuta el Python que acaba de instalar, así que esta lección dedica tanto tiempo a comprobar como a instalar.
Nota
¿Todavía no tienes nada instalado? La mayoría de los ejemplos de este curso también se ejecutan en tu navegador, en el Compilador de Python en línea (en inglés) de este sitio, sin instalar nada. Una lección lo dice cuando alguno de sus ejemplos necesita Python en tu propia computadora.
Instalar 3.14 junto al Python que ya tienes
Cualquier sistema puede tener varios Python, uno al lado del otro. Cuando el sistema operativo trae uno, el El Python que vino con el sistema operativo, como el python3 de una distribución de Linux o el de Apple en /usr/bin. Las herramientas del propio sistema dependen de él, así que las demás versiones van a su lado, nunca en su lugar., se queda, así que la tarea es añadir 3.14 a su lado, desde la fuente que le vaya bien a tu sistema.
Primero, comprueba lo que ya tienes
Abre un terminal: Terminal en macOS, el terminal de tu distribución en Linux, Windows Terminal o PowerShell en Windows. Después, pregúntale a Python su versión:
- macOS y Linux:
python3 --version - Windows:
py --version(opython --version)
Si imprime Python 3.14 seguido de un número de corrección, o algo más nuevo, salta a PATH decide qué Python ejecuta una orden. Si imprime una versión más antigua, o no encuentra la orden, instala 3.14 como se describe para tu sistema.
Windows
La documentación de Python para Windows recomienda el Python install manager, que consigues en python.org o en Microsoft Store. Te da la orden py (y python), que instala y ejecuta versiones de Python una al lado de la otra:
py install 3.14instala el último Python 3.14.py listmuestra las versiones instaladas.py script.pyejecuta un script con la versión predeterminada.
Cuando el install manager instala su primer runtime, es probable que se ofrezca a añadir una carpeta a tu PATH. Puedes saltártelo si usas py; acéptalo si también quieres órdenes con la versión en el nombre, como python3.14. Abre una ventana de terminal nueva después de instalar, para que reconozca las órdenes nuevas. Si al escribir python se abre Microsoft Store o dice que no encuentra la orden, usa py, o abre Manage app execution aliases en la Configuración de Windows y comprueba que los alias de Python (default) están activados; si ya lo están, desactívalos y vuelve a activarlos.
macOS
Puede que tu Mac ya tenga una orden python3, pero a menudo es un Python más antiguo que vino con las herramientas para desarrolladores de Apple. Instala 3.14 a su lado; no intentes quitar el antiguo.
- Instalador de python.org: descarga el instalador de macOS de Python 3.14 desde python.org/downloads y ejecútalo. Añade las órdenes
python3ypython3.14. - Un gestor de paquetes, si ya usas uno, por ejemplo Homebrew:
brew install python@3.14.
Después, abre una ventana de Terminal nueva y vuelve a comprobar la versión.
Descargas firmadas
Los archivos de las versiones de python.org se pueden comprobar con Sigstore; desde Python 3.14, el equipo de versiones ya no publica firmas PGP (PEP 761). La página de python.org sobre Sigstore explica cómo verificar un archivo, si lo necesitas.
Linux
La mayoría de las distribuciones de Linux incluyen un Python 3 del que dependen las herramientas del propio sistema. Nunca lo quites ni lo sustituyas: partes del sistema pueden dejar de funcionar. En su lugar, instala la versión que necesitas a su lado:
- desde los paquetes de tu distribución, si ofrece Python 3.14;
- con un gestor de versiones (abajo), que instala cualquier versión exacta en tu carpeta personal;
- o compilándolo desde el código fuente, como describe la documentación de Python.
Gestores de versiones (cualquier sistema)
Un Una herramienta como uv, mise o pyenv que instala versiones exactas de Python una al lado de la otra, normalmente en tu carpeta personal, y deja que cada proyecto elija una. instala versiones exactas, mantiene varias a la vez y deja que cada proyecto elija una. Tres muy usados:
- uv (una lección posterior lo trata):
uv python install 3.14 - mise:
mise install python@3.14.8. Los ejemplos de este curso se ejecutan conmise exec python@3.14.8 -- python3. - pyenv (macOS y Linux):
pyenv install 3.14.8
Each makes its Pythons reachable through PATH: The environment variable that lists the folders a shell searches, in order, for a command you type. A command whose folder is not on PATH answers "command not found" until the folder is added or the full path is typed., the list of folders the next section
is about: uv puts a versioned command such as python3.14 there, and pyenv puts a folder of its own small programs,
called shims, at the front of the list.
Qué camino elegir
| Criterio | python.org | Tu gestor de paquetes | Un gestor de versiones |
|---|---|---|---|
| Eliges la versión de corrección exacta | Sí | No: tienes la versión que empaqueta | Sí |
| Varias versiones a la vez | Sí | A veces, como paquetes separados | Sí, y cada proyecto puede elegir una |
| Actualizaciones | Instalas tú la siguiente versión | Con el resto de tu sistema | Instalas tú la siguiente versión |
| Cuándo elegirlo | Quieres la compilación oficial en Windows o macOS | Ya instalas tus herramientas con él | Trabajas en varios proyectos, o necesitas una versión exacta |
Lee la tabla desde tu situación: un único Python para este curso en una computadora con Windows o macOS es la compilación de python.org, y dos proyectos que necesitan dos versiones exactas son justo para lo que sirven los gestores de versiones.
Python sin GIL (free-threaded)
Python 3.14 también viene como una compilación aparte sin el bloqueo global del intérprete, llamada 3.14t (por ejemplo, python3.14t). Los programas normales no la necesitan; el módulo de concurrencia de este curso explica cuándo ayuda.
Punto de control
Comprueba: dónde conseguir Python 3.14 en cada sistema
PATH decide qué Python ejecuta una orden
Tu terminal encuentra una orden buscando en las carpetas que enumera la variable de entorno PATH, por orden, y ejecuta la primera coincidencia. Recorre tres búsquedas en un mismo PATH en un Mac, donde el instalador de python.org ha puesto su python3 en /usr/local/bin y el antiguo de Apple está en /usr/bin:
El dibujo muestra la escena completa; sus 6 pasos aparecen abajo.
Todos los pasos en texto
- El shell lee PATH. Escribes python3 --version. El shell toma PATH, una lista de carpetas separadas por dos puntos, y busca en ellas en este orden: /usr/local/bin, después /usr/bin y después /bin.
- Se ejecuta la primera coincidencia. El instalador de python.org puso un enlace python3 en /usr/local/bin. Es la primera coincidencia, así que el shell lo ejecuta y deja de buscar: responde Python 3.14.8.
- Nunca se llega a una coincidencia posterior. /usr/bin también tiene un python3, el más antiguo que instalaron las herramientas de Apple, pero la búsqueda ya se detuvo. which -a python3 enumera los dos, en este orden.
- Antes de ejecutar el instalador. Busca otra vez como estaba el Mac antes de la instalación: /usr/local/bin todavía no tiene python3, así que el shell pasa a la siguiente carpeta.
- Se ejecuta la versión equivocada. Ahora el primer python3 que encuentra es el de Apple, así que python3 --version imprime un Python más antiguo. No hay nada roto; PATH simplemente encontró ese primero.
- Ninguna carpeta tiene la orden. Ahora escribe python3.14 en una computadora donde ninguna carpeta de PATH la tiene. El shell lee las tres carpetas, no encuentra nada y responde command not found.
La búsqueda se detuvo cada vez en el primer python3, y solo el orden de las carpetas decidió cuál era. Eso explica los dos problemas habituales:
- Command not found: ninguna carpeta de
PATHcontienepython3(opy). Abre un terminal nuevo después de instalar; si la orden sigue sin encontrarse, la carpeta de Python todavía no está enPATH, y tienes que añadirla en la configuración de tu shell o de tu sistema. - Se ejecuta la versión equivocada: un Python más antiguo está en una carpeta que va antes en
PATH.
Pregúntale al intérprete dónde vive con python3 -c "import sys; print(sys.executable)". En macOS y Linux, which -a python3 enumera cada python3 de tu PATH en el orden en que los prueba el terminal; en Windows, where python hace lo mismo.
Cuando la primera coincidencia es la equivocada, tienes dos salidas. Escribe una orden que solo tenga la instalación nueva, como python3.14, que dan tanto el instalador de python.org para macOS como uv, o mueve la carpeta de la instalación nueva antes en PATH y abre un terminal nuevo. Nunca lo arregles borrando el Python más antiguo.
Idea clave
El shell ejecuta el primer python3 que encuentra en las carpetas de PATH, leídas por orden, así que es el orden de las carpetas, y no la versión, lo que decide qué Python inicia una orden.
Punto de control
Comprueba: cómo elige PATH el Python que se ejecuta
Comprueba la versión en el código con tuplas, no con texto
Cuando ya se ejecute el Python correcto, guarda este programa como check_version.py y ejecútalo con python3 check_version.py (o py check_version.py):
import sys
minimum = (3, 14)
installed = sys.version.split()[0]
if sys.version_info >= minimum:
print("OK: Python", installed, "is new enough for this track.")
else:
print("This track needs Python 3.14 or newer, but this is Python", installed) Salida
OK: Python 3.14.8 is new enough for this track.
Salida registrada con Python 3.14.8 en macOS 26 arm64. Para ejecutarlo tú: mise exec python@3.14.8 -- python3 check_version.py
Se ejecuta en este dispositivo, en tu navegador. La primera ejecución descarga Python (unos 13.5 MB), que se guarda para las siguientes.
Tu ejecución, en este navegador
Nota de versión
En tu navegador, el Compilador de Python en línea (en inglés) ejecuta Pyodide 314.0.7, que contiene CPython 3.14.2, así que el mensaje dice 3.14.2. Sigue siendo Python 3.14, así que la comprobación también pasa ahí.
En tu navegador, Pyodide 314.0.7 (CPython 3.14.2) imprime:
OK: Python 3.14.2 is new enough for this track.
sys.version_info es la versión del intérprete en ejecución como una tupla de números, así que compararla con (3, 14) funciona para cualquier versión de corrección de 3.14 y para cualquier versión posterior. En un intérprete más antiguo, como Python 3.12, el mismo archivo imprime el segundo mensaje.
La tupla importa. Una versión escrita como texto se compara carácter a carácter, y entonces 3.9 parece más nueva que 3.14. Recorre tres versiones comparadas de las dos formas:
Programa · compare_versions.py
versions = ["3.9", "3.14", "3.12"]
for text in versions:
as_text = text >= "3.14"
major, minor = text.split(".")
nums = (int(major), int(minor))
as_nums = nums >= (3, 14)
print(text, as_text, as_nums) Variables
- recién tomado por el bucle
- cambiado en este paso
- ya recorrido por el bucle
- se lee a continuación
- donde se detuvo el bucle
Impreso hasta ahora
Todavía no hay nada impreso3.9 True False 3.14 True True 3.12 False False
Cada paso se registró de una ejecución con Python 3.14.8 en macOS 26 arm64.
El dibujo muestra las variables cuando termina el programa, y los 21 pasos del programa aparecen abajo.
Cambia el programa y ejecútalo aquí. Se ejecuta en este dispositivo, en tu navegador. La primera ejecución descarga Python (unos 13.5 MB), que se guarda para las siguientes.
Tu ejecución, en este navegador
Todos los pasos en texto
- Inicio. Todavía no se ha ejecutado ninguna línea, así que no hay variables. Python empieza por la línea 1.
- Línea 1.
versions = ["3.9", "3.14", "3.12"]hace deversionsuna lista de 3 elementos. - Línea 2.
for text in versions:toma el elemento de la posición 0 deversions:textes'3.9'. - Línea 3.
as_text = text >= "3.14"asignaTrueaas_text. El fallo Como texto, "3.9" y "3.14" coinciden hasta el punto; después "9" va detrás de "1", así que la comparación de texto dice que 3.9 es al menos 3.14. Es cinco versiones de funcionalidades más antigua. - Línea 4.
major, minor = text.split(".")asigna'3'amajory'9'aminor. - Línea 5.
nums = (int(major), int(minor))hace denumsuna tupla de 2 elementos. - Línea 6.
as_nums = nums >= (3, 14)asignaFalseaas_nums. La solución (3, 9) y (3, 14) se comparan número a número: 3 es igual a 3, y después 9 es menor que 14, así que 3.9 es más antigua, como debe ser. - Línea 7.
print(text, as_text, as_nums)imprime3.9 True False. - Línea 2.
for text in versions:toma el elemento de la posición 1 deversions:textes'3.14'. - Línea 3.
as_text = text >= "3.14"as_textmantiene su valor,True. - Línea 4.
major, minor = text.split(".")majormantiene su valor,'3', y asigna'14'aminor(antes era'9'). - Línea 5.
nums = (int(major), int(minor))asigna(3, 14)anums(antes era(3, 9)). - Línea 6.
as_nums = nums >= (3, 14)asignaTrueaas_nums(antes eraFalse). - Línea 7.
print(text, as_text, as_nums)imprime3.14 True True. - Línea 2.
for text in versions:toma el elemento de la posición 2 deversions:textes'3.12'. - Línea 3.
as_text = text >= "3.14"asignaFalseaas_text(antes eraTrue). Aquí la comparación de texto acierta por casualidad: "2" va antes que "4". Una comprobación que acierta con algunas versiones y falla con otras pasa muchas pruebas. - Línea 4.
major, minor = text.split(".")majormantiene su valor,'3', y asigna'12'aminor(antes era'14'). - Línea 5.
nums = (int(major), int(minor))asigna(3, 12)anums(antes era(3, 14)). - Línea 6.
as_nums = nums >= (3, 14)asignaFalseaas_nums(antes eraTrue). - Línea 7.
print(text, as_text, as_nums)imprime3.12 False False. - Línea 2.
for text in versions:no encuentra ningún elemento en la posición 3 deversions(tiene 3 elementos), así que el bucle termina. Era la última línea, así que el programa termina. Lo clave Solo las tuplas acertaron las tres. sys.version_info ya es una tupla de números, así que compárala con una tupla como (3, 14), nunca su texto con "3.14".
La comparación de texto dejó pasar 3.9 y acertó con 3.12 solo por suerte; las tuplas acertaron siempre. Pulsa Editar, añade "3.2" a la lista y ejecútalo: como texto, Python 3.2 también cuenta como lo bastante nuevo para este curso.
Comparar cadenas de versión
sys.version >= "3.14" compara texto, así que deja pasar a Python 3.9. Compara la tupla en su lugar: sys.version_info >= (3, 14).
Punto de control
Comprueba: comprobar la versión en el código
Practica: comprobar una versión en el código
El ejercicio convierte check_version.py en una función que puedes probar con versiones inventadas, incluida la 3.9 que la comparación de texto calcula mal. Sus pruebas de ejemplo se ejecutan en tu navegador, y tienes una primera pista si la necesitas:
Ejercicio · Fácil · Python
Comprueba que una versión de Python es lo bastante nueva
El check_version.py de esta lección compara el Python en ejecución con (3, 14). Convierte esa comprobación en una función que puedas probar: check_version(version_info, minimum=(3, 14)).
version_infoes una tupla de números enteros como(3, 12, 4), las tres primeras partes desys.version_info.- Devuelve
"ok"cuando esa versión esminimumo más nueva. - Si no, devuelve un mensaje que diga la versión encontrada y la que hay que instalar, exactamente con esta forma (para
(3, 12, 4)y el mínimo predeterminado):Python 3.12.4 is too old: install Python 3.14 or newer
No leas sys.version_info dentro de la función: las pruebas pasan versiones inventadas, así que tiene que funcionar con lo que reciba. Cuidado con versiones como 3.9, que es más antigua que 3.14 aunque "3.9" vaya detrás de "3.14" como texto.
Código inicial · version_check.py
def check_version(version_info, minimum=(3, 14)):
"""Return "ok" when version_info is minimum or newer, otherwise a message saying which Python to install."""
return "ok" Las pruebas de ejemplo · test_version_check.py
from version_check import check_version
def test_new_enough():
"""accepts 3.14 and every later version"""
assert check_version((3, 14, 8)) == "ok"
assert check_version((3, 15, 0)) == "ok"
assert check_version((4, 0, 0)) == "ok"
def test_exactly_the_minimum():
"""accepts a version equal to the minimum"""
assert check_version((3, 14, 0), minimum=(3, 14, 0)) == "ok"
def test_too_old():
"""names the version found and the one to install"""
assert check_version((3, 12, 4)) == "Python 3.12.4 is too old: install Python 3.14 or newer"
def test_numbers_not_text():
"""compares numbers, so 3.9 is older than 3.14"""
assert check_version((3, 9, 1)) == "Python 3.9.1 is too old: install Python 3.14 or newer"
def test_other_minimum():
"""uses the minimum it is given"""
assert check_version((3, 12, 4), minimum=(3, 12)) == "ok"
assert check_version((3, 11, 9), minimum=(3, 12)) == "Python 3.11.9 is too old: install Python 3.12 or newer" Una pista
Las tuplas se comparan elemento a elemento, como números: (3, 9, 1) < (3, 14) es True. Para construir 3.12.4 a partir de (3, 12, 4), convierte cada número en texto y únelos con puntos: ".".join(str(part) for part in version_info).
Resultados de las pruebas de ejemplo
| Prueba | Resultado | Detalles |
|---|
Lo que imprimió tu código
Las pruebas de ejemplo se ejecutan en este dispositivo, en tu navegador (Pyodide): no se envía nada a mysmartcopilot.com. La primera ejecución descarga Python (unos 13.5 MB), que se guarda para las siguientes. Una comprobación en tu navegador es una orientación para ti, no la prueba de que el código sea correcto con cualquier entrada.
Después repasa las preguntas de esta lección sobre la instalación, PATH y las comprobaciones de versión. La más floja de las tres sale primero, y cada opción se explica sola:
Práctica que se adapta a ti
Practica esta lección
10 preguntas sobre 3 ideas de esta lección. Cada respuesta se explica al momento, y lo que aciertas se guarda en este navegador.
Para recordar
- En Windows, usa el Python install manager y la orden
py; en macOS, el instalador de python.org o un gestor de paquetes; en Linux, instala 3.14 junto al Python del sistema y nunca lo quites. - Después de instalar, abre un terminal nuevo y comprueba la versión con
python3 --versionopy --version. PATHdecide qué Python ejecuta una orden:sys.executableywhich -a python3(owhere python) muestran lo que obtienes de verdad.- Compara
sys.version_infocon una tupla, como(3, 14), para comprobar una versión mínima en el código.
Tarjetas · 3 tarjetas
Repaso rápido
Di la respuesta para ti antes de mirarla: recordarla es lo que hace que se quede.
-
¿Cómo compruebas qué versión de Python ejecuta un terminal?
python3 --version en macOS y Linux; py --version en Windows.
-
¿Por qué nunca deberías quitar el Python del sistema en Linux?
Partes del sistema dependen de él. En su lugar, instala la versión que necesitas a su lado.
-
¿Cómo averiguas qué intérprete ejecuta de verdad una orden?
Pregúntale al propio intérprete con python3 -c "import sys; print(sys.executable)", que imprime la ruta del que respondió. En macOS y Linux, which -a python3 (en Windows, where python) enumera cada coincidencia de tu PATH, en el orden en que las prueba el terminal.
Correcciones
- En Windows, la solución para cuando python abre Microsoft Store ahora sigue al install manager: mantén activados sus alias de ejecución de aplicaciones de Python (default).
Referencias
- Usar Python en Windows (en inglés) (Python Software Foundation)
- Usar Python en macOS (Python 3.14) (en inglés) (Python Software Foundation)
- Usar Python en plataformas Unix (en inglés) (Python Software Foundation)
- El tutorial de Python: cómo usar el intérprete de Python (en inglés) (Python Software Foundation)
- sys.version_info y sys.executable (en inglés) (Python Software Foundation)
- Descargas de Python y verificación con Sigstore (en inglés) (Python Software Foundation)
- PEP 761: retirada de las firmas PGP de los archivos de CPython (en inglés) (Python Software Foundation)
- uv: instalar Python (en inglés) (Astral)
- mise: Python (en inglés) (mise)
- pyenv (README, en inglés) (pyenv)
Herramientas relacionadas
Informar de un problema con esta lección (en inglés)
Solo se guarda en este navegador. Tu progreso en Learn (en inglés)