Preguntas frecuentes

Algunas preguntas que se repiten en las distintas plataformas entre las personas de la comunidad.

¿Qué curso/libro es recomendable para empezar?

Mira nuestras recomendaciones de cursos y libros.

¿Hay más grupos de Telegram relacionados con Python en español?

¡Claro! Mira la sección otras comunidades

¿Hay más servidores de Discord relacionados con Python en español?

¡Claro! Mira la sección otras comunidades

¿Necesitas ayuda con un programa?

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:

¿Cuál es el mejor editor/IDE para Python?

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:

¿Qué biblioteca/módulo/framework se recomienda para...?

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.

Aplicaciones gráficas (GUI)

Las principales opciones que hay ahora mismo (Octubre 2018) en Python para crear aplicaciones gráficas son:

  • Tkinter: Framework multiplataforma base incluido en Python por defecto en la librería estándar. Basado en Tcl/Tk con licencia Python License
  • PyQt: Framework multiplataforma muy popular basado en Qt. Para uso comercial requiere la compra de una licencia. Diseñador visual: Qt Creator Basado en Qt con licencia GNU GPL v3 y Riverbank Commercial License. Última versión estable: PyQt6 (Qt 6.2)
  • PySide (Qt for Python): Framework multiplataforma basado en Qt, pero con una licencia menos restrictiva. Soporta Qt4 (PySide), Qt5 (PySide2), y Qt6 (PySide6). Requiere Python 3.6 o superior. Diseñador visual: Qt Creator Basado en Qt con licencia LGPL. Última versión estable: PySide6 (Qt 6.2)
  • wxPython: Framework multiplataforma bastante popular basado en wxWidgets que tiene como principal ventaja que los componentes son nativos y por lo tanto su apariencia es igual a la del SO en el que se usan. Diseñador visual: wxGlade o wxFormBuilder. Basado en wxWidgets con licencia wxWindows Library Licence. Última versión estable: 4.1
  • Python GTK+: Framework multiplataforma basado en GTK+3. (PyGTK es la versión antigua y usa GTK+2). Diseñador visual: glade Basado en GTK+ con licencia LGPL. Última versión estable: 3.4
  • Kivy: Framework multiplataforma diseñado para funcionar además de en entornos de escritorio, en Android o IOS. Diseñador visual: Kivy Designer Licencia MIT license. Última versión estable: 2.0
  • Toga: Framework multiplataforma orientado a desarrollo móvil con widgets nativos (en Linux requiere GTK+3). Está en desarrollo. Licencia New BSD License. Última versión estable: 0.3.0.dev11
  • pywebview: Es un wrapper de un componente webview que se basa en distintos frameworks dependiendo de la plataforma en la que se instala. Al ser un componente webview, el render lo decide el SO, por lo que en Windows (por ejemplo) estás atado a Internet Explorer. Por lo tanto, la base depende del SO. Licencia New BSD License Última versión estable: 3.5
  • PySimpleGUI: Framework basado en Tkinter que simplifica notablemente la elaboración de interfaces gráficas. Basado en Tkinter / Tcl/Tk con licencia LGPL. Última versión estable: 3.10.3

Si quieres ver todas las opciones, puedes leer el listado de GUIs en la web de Python así como herramientas de diseño en la wiki de Python.

Extraer información de la web

Básicamente tienes dos opciones:

También puede resultarte de ayuda el capítulo de Web scraping del libro Automate the boring stuff en el que también se utiliza Selenium.

Dicen por ahí que Python es lento...¿es cierto?

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:

Instale un módulo y no funciona ¿Cómo se resuelve?

Esta pregunta suele ser muy frecuente en distintas plataformas, y lo más importante es saber como 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.

¿Puedo publicar una oferta de trabajo?

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