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(opy --version). - macOS: usa el instalador de python.org o Homebrew
(
brew install python). - Linux: normalmente ya viene instalado. Comprueba con
python3 --versiony, 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 ejemplopy 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, nopython. Prueba conpython3 --versionypip3 --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:
- Usar Requests para el acceso y BeautifulSoup para la extracción.
- Usar el framework Scrapy.
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
pythonde ese entorno virtual. - No, verifica que al escribir
pipsea 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 nombrey luegopip install paquete. - Con uv:
uv venvy luegouv pip install paquete, ouv add paquetesi usas un proyecto conpyproject.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-paqueteUsar 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:
- Exercism: ejercicios con retroalimentación de mentores, gratis.
- Advent of Code: retos de programación cada diciembre.
- Python Tutor: visualiza paso a paso cómo se ejecuta tu código.
- Aprende Python Construyendo: proyectos para mejorar tu portafolio.
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:
- Ayudar a otras personas respondiendo preguntas en nuestras comunidades (mira preguntar y ayudar).
- Traducir la documentación oficial al español en el proyecto python-docs-es. Hay una guía para traducir de la documentación de Python.
- Empezar una comunidad en tu ciudad o país.
- Conocer otras comunidades e iniciativas y participar.
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.