Escribe algo para buscar...

Preguntas frecuentes

Mira nuestras recomendaciones de cursos y libros.

Descarga el instalador oficial desde python.org/downloads y elige la última versión estable. Más detalles en la documentación oficial.

  • Windows: al ejecutar el instalador marca la casilla Add python.exe to PATH. Luego abre una terminal y comprueba con python --version (o py --version).
  • macOS: usa el instalador de python.org o Homebrew (brew install python).
  • Linux: normalmente ya viene instalado. Comprueba con python3 --version y, si falta, instálalo con el gestor de paquetes de tu distribución.

Para ejecutar un programa guarda tu código en un archivo, por ejemplo hola.py, y ejecuta python hola.py (o python3 hola.py en Linux y macOS).

Significa que tu terminal no encuentra el ejecutable de Python. Las causas más comunes son:

  • No está instalado. Revisa cómo instalar Python.
  • Windows: no se marcó Add python.exe to PATH al instalar. Vuelve a ejecutar el instalador y márcala, o usa el lanzador py (por ejemplo py hola.py), que se instala con Python. También hay más información en la documentación para Windows.
  • Linux y macOS: el comando se llama python3, no python. Prueba con python3 --version y pip3 --version.
  • La terminal estaba abierta durante la instalación. Ciérrala y abre una nueva para que cargue los cambios.

Usa siempre Python 3, preferiblemente la última versión estable. Python 2 dejó de recibir soporte el 1 de enero de 2020, y los libros, cursos o respuestas que lo usan (por ejemplo print "hola" sin paréntesis) están desactualizados.

Python te muestra un traceback: la secuencia de llamadas que llevó al error. Lo más útil está al final:

  • La última línea indica el tipo de error (NameError, TypeError, SyntaxError…) y un mensaje explicativo.
  • Las líneas anteriores indican el archivo y el número de línea donde ocurrió.

Lee primero la última línea y luego sube hasta tu propio código. Si pides ayuda, copia el error completo, no solo la última línea. Más información en el tutorial oficial.

¡Claro! Mira la sección otras comunidades

¡Claro! Mira la sección otras comunidades

Si es de las primeras veces que preguntas en un foro, puede interesarte aprender cómo hacer preguntas y, una vez te decidas a preguntar, nos cuentes también qué has intentado para que funcione tu código. Para que no vayamos a ciegas, es recomendable que pegues tu código en una de las utilidades de abajo y compartas la URL generada en el canal:

O indicarnos tu repositorio de código en:

Cada persona tiene sus preferencias, experiencia, sistema operativo, necesidades, etc. Es importante sentirse cómodo con la herramienta que más vas a utilizar. Por lo tanto, en lugar de basarte en la opinión subjetiva de los demás (con otras preferencias, experiencias, …), te resultará mucho más útil escoger uno o varios (de entre los listados que te damos a continuación) y probar durante un tiempo cada una. Solo tú puedes contestar a la pregunta.

En Full Stack Python se recopila una buena selección de direcciones sobre entornos de desarrollo (en inglés). También tienes una completa tabla comparativa en reddit que te puede servir de guía para escoger.

En la misma wiki de Python.org hay un par de listados exhaustivos sobre editores e IDEs:

Jupyter es un entorno donde combinas código, resultados, gráficos y texto en un mismo documento organizado en celdas llamadas notebooks. Es muy popular en análisis de datos, ciencia y enseñanza, porque puedes ejecutar el código por partes y ver el resultado al instante.

Google Colab ofrece notebooks en el navegador, sin instalar nada y con una cuenta de Google.

Son ideales para explorar datos y aprender, pero para programas más grandes, aplicaciones o scripts que quieras ejecutar desde la terminal, lo habitual es usar un editor o IDE y archivos .py.

Antes de preguntar por una librería o framework puedes echar un vistazo a las alternativas que hay en el ámbito de tu problema. Un recurso muy interesante para poder conocer dichas alternativas es awesome-python. Verás que cubre muchos ámbitos. Hay listas más específicas si tu pregunta trata de Django, Flask o Pyramid.

Intenta hacer una pregunta concreta. No es buena idea preguntar ¿qué es mejor X o Y?. Sin información, la respuesta de cualquier participante será subjetiva. Matiza cuál es el problema que quieres resolver para que podamos ayudarte en la recomendación.

Las principales opciones para crear aplicaciones gráficas en Python son:

  • Tkinter: Framework multiplataforma incluido en la biblioteca estándar de Python. Basado en Tcl/Tk. Es la opción más sencilla para empezar, ya que no hay que instalar nada.
  • PySide (Qt for Python): Bindings oficiales de Qt, multiplataforma y con licencia LGPL, apta también para uso comercial. Diseñador visual: Qt Creator.
  • PyQt: Alternativa muy popular, también basada en Qt. Licencia GNU GPL v3 o licencia comercial de pago.
  • wxPython: Basado en wxWidgets; los componentes son nativos, por lo que la apariencia es igual a la del sistema operativo. Diseñador visual: wxGlade o wxFormBuilder.
  • Python GTK: Bindings de GTK mediante PyGObject, la base del escritorio GNOME. Diseñador visual: Glade.
  • Kivy: Framework multiplataforma pensado también para dispositivos táctiles, con soporte para Android e iOS. Licencia MIT.
  • Toga: Parte del proyecto BeeWare. Usa widgets nativos de cada plataforma, incluyendo móviles.
  • pywebview: Muestra una interfaz web (HTML, CSS y JavaScript) en una ventana nativa, usando el componente webview de cada sistema operativo.

Antes de decidirte revisa que la licencia sea compatible con tu proyecto y que la biblioteca siga mantenida. Si quieres ver más opciones, puedes leer el listado de GUIs en la web de Python así como herramientas de diseño en la wiki de Python.

Básicamente tienes dos opciones:

Si la página genera su contenido con JavaScript, necesitarás automatizar un navegador con Playwright o Selenium.

También puede resultarte de ayuda el libro Automate the boring stuff, que incluye un capítulo sobre web scraping (en inglés).

Antes de extraer datos de un sitio, revisa sus términos de uso y su robots.txt.

Es posible que te hayan contado cosas malas de Python pero ¿te crees todo lo que te dicen? Te recomendamos que leas un par de páginas para formarte una idea más realista:

Además, cada versión nueva de Python mejora el rendimiento (desde Python 3.11 la mejora es notable), y para las partes que necesitan más velocidad existen bibliotecas como NumPy, que ejecutan el trabajo pesado en código compilado.

Esta pregunta suele ser muy frecuente en distintas plataformas, y lo más importante es saber cómo está configurado nuestro entorno y proyecto.

¿Creaste un entorno virtual para tu proyecto?

  • Sí, entonces verifica que tu IDE (PyCharm, VScode, etc) utiliza el ejecutable python de ese entorno virtual.
  • No, verifica que al escribir pip sea el correspondiente a tu intérprete de Python en uso.

En Linux y macOS puedes clarificar esto ejecutando el comando which python o which pip en tu terminal. En Windows, puedes ejecutar el comando where para verificarlo de la misma forma.

Te recomendamos nunca instalar módulos con pip install ... sin haber creado un entorno virtual. Esto es principalmente para que no instales módulos en tu sistema o cuenta de usuario que vayan a chocar con tu configuración de cada proyecto.

Solo crear un nuevo entorno con python -m venv nombre (donde nombre es el nombre que quieras para tu entorno), y luego para activarlo:

  • En Linux y macOS, source nombre/bin/activate,
  • En Windows, nombre\Scripts\activate.

Más detalles en la documentación de venv. Si prefieres una herramienta moderna que gestiona entornos y dependencias por ti, puedes probar uv.

uv es una herramienta más nueva para instalar paquetes y gestionar entornos virtuales y versiones de Python. Puede usarse en lugar de pip y venv, y suele ser bastante más rápida.

No es obligatorio. pip y venv siguen siendo la forma estándar, vienen con Python y son lo que explican la mayoría de los cursos y libros, así que puedes seguir usándolos con normalidad. Elige la que te resulte más cómoda:

  • Con pip: python -m venv nombre y luego pip install paquete.
  • Con uv: uv venv y luego uv pip install paquete, o uv add paquete si usas un proyecto con pyproject.toml.

Lo importante en ambos casos es lo mismo: usar un entorno virtual por proyecto.

Con tu entorno virtual activado, instala un paquete con:

python -m pip install nombre-del-paquete

Usar python -m pip asegura que se instale en el mismo Python que ejecutas. Otros comandos útiles:

  • python -m pip list: muestra lo que tienes instalado.
  • python -m pip install --upgrade nombre-del-paquete: actualiza un paquete.
  • python -m pip uninstall nombre-del-paquete: lo desinstala.

Un archivo requirements.txt es una lista de los paquetes que necesita tu proyecto, uno por línea. Puedes generarlo con python -m pip freeze > requirements.txt y quien reciba tu proyecto instalará todo de una vez con python -m pip install -r requirements.txt. Más detalles en la documentación de pip.

Además de los cursos y libros recomendados:

La documentación oficial de Python tiene una traducción al español, incluyendo el tutorial, que es un excelente punto de partida. Algunas secciones pueden estar menos actualizadas que la versión en inglés. Para bibliotecas externas, la documentación suele estar solo en inglés.

Python es un lenguaje de propósito general que se usa en desarrollo web, análisis de datos, ciencia, automatización, inteligencia artificial, administración de sistemas y más. Puedes ver ejemplos en la sección de aplicaciones de Python.

Qué lenguaje te conviene depende de lo que quieras hacer, y no hay una respuesta única. Si tu objetivo es conseguir un trabajo, ten en cuenta que casi siempre se piden también otras habilidades además del lenguaje (bases de datos, Git, el framework o área concreta, inglés técnico…). Para empezar, mira la página de principiantes y las ofertas publicadas en nuestras comunidades.

Hay muchas formas de aportar, no hace falta ser experto:

Tienes varias opciones:

  • Únete a nuestro servidor de Discord, donde participan personas de muchos países y puedes preguntar, aprender y conocer gente desde cualquier lugar.
  • Revisa las otras comunidades: algunas aceptan personas de cualquier país.
  • Si quieres crear la tuya, empieza por la guía para comenzar una comunidad.

Revisa si existe un canal de la categoría 📖 | Salas por tema que encaje con tu duda. Si no, escribe en ayuda-general. Antes de preguntar, lee cómo preguntar bien: incluye tu código, el error completo y qué has intentado. Si estás empezando, los consejos para principiantes también te servirán.

Tienes dos caminos en el servidor de Discord:

  • Si quieres construir algo, mira Aprende Python Construyendo y comparte tu idea (o súmate a la de otra persona) en el canal hagamos-equipo.
  • Si prefieres aprender con un grupo, revisa las actividades de Transmisiones, que incluyen grupos de estudio.

Los bots ayudan a moderar: detectan mensajes repetidos (flood), spam y phishing, y gestionan el envío de ofertas de trabajo y eventos para que el equipo de Coordinación pueda aprobarlos o rechazarlos. En la política de privacidad explicamos qué datos guardan y cómo puedes pedir que se eliminen.

En Discord, escribe a cualquier persona con el rol Coordinación. En Telegram, puedes acudir al grupo de moderación o a una persona administradora. Todos los detalles están en el código de conducta. Las personas administradoras están obligadas a respetar tu privacidad y tu seguridad.

Mira las normativas para publicar una oferta de trabajo en Telegram y Discord.