Entornos de desarrollo para Python en 2021

Entornos de desarrollo para Python

Los entornos desarrollo integrados, o como se denominan en inglés IDEs (Integrated Development Environment), son aplicaciones que ayudan a desarrollar proyectos de forma fácil y efectiva.

Cada IDE presenta ciertas características que lo diferencian de los demás aunque las características más útiles que se deben de buscar son:

  • Capacidad de editar código.
  • Soporte de ejecución de código.
  • Interfaz intuitiva.
  • Soporte de documentación del lenguaje.

La finalidad última de un IDE es hacer que los desarrolladores puedan desarrollar de forma efectiva, cómoda y rápidamente.

IDEs para programar en Python

Cualquier editor de texto podría servir para programar en cualquier lenguaje, pero necesitaría programas externos para integrar funcionalidades específicas para Python como:

  • Coloreado de sintaxis propia de Python.
  • Documentación de módulos Python.
  • Soporte de entornos de ejecución.
  • Validadores de sintaxis.
  • Validadores de estilos y seguimiento del PEP-8.
  • Depurador de código Python.

Los IDEs para Python que se presentan a continuación se pueden separar en 3 grupos ordenados desde más específicos a más generalistas:

  1. Entornos de desarrollo orientados a desarrollo Python.
  2. Entornos que soportan múltiples lenguajes (generalistas) que usan complementos para dar soporte a python
  3. Editores de texto potentes que añadiendo muchos complementos manualmente soportan Python.

IDEs exclusivamente para desarrollo Python

La gran ventaja que presentan los entornos de desarrollo diseñados para desarrollar aplicación Python es que todas las herramientas están integradas y enfocadas a ser más productivo en Python.

En general ofrecen una mejor experiencia para los desarrolladores conociendo perfectamente el ecosistema de Python, dando soporte para ejecuciones, depuración, documentación, análisis de rendimiento y un largo etcétera.

Pycharm

Es quizás el IDE más uitlizado por profesionales de desarrollan aplicaciones en Python y las características que lo destacan de los demás son las siguientes:

  • Soporta depuración de código profesional e intuitiva.
  • Ejecución de test soportando unittest, nosetests y pytests.
  • Soporte de entornos virtuales.
  • Soporte de múltiples versiones de Python.
  • Coloreado de sintaxis, comprobación de PEP-8, formateado automático, optimización de importaciones, etc.
  • Diferentes sistema de control de versiones.
  • Admite extenderlo con plugins.
  • Se pueden explorar bases de datos (versión pro).
  • Soporte de análisis científico (versión pro).
  • Permite desarrollo web profesional (versión pro).

Es desarrollado y mantenido por JetBrains, empresa especializada en creación de entornos de desarrollo profesionales, por lo que el soporte es excepcional.

Pycharm está disponible en dos versiones, una community que es gratuita y otra de pago para profesionales con muchas más funcionalidades y se puede descargar https://www.jetbrains.com/pycharm/.

Encuentra mucha más información en el siguiente post:

Spyder

Spyder es un entorno de desarrollo orientado a las aplicaciones científicas de software libre, aunque también soporta desarrollo de aplicaciones python en general. Las principales características son las siguientes:

  • Permite trabajar con numerosas librerías científicas como NumPy, SciPy, Pandas o SymPy.
  • Soporta librerías gráficas como matplotlib.
  • Tiene soporte para IPython y notebooks.
  • Está integrado por defecto en Anaconda.
  • Tiene un navegador de ficheros.
  • Permite depurar código.

Thonny

Es un entorno de desarrollo para principiantes que permite probar y experimentar con programas pequeños (normalmente de un solo módulo), pero presenta las siguientes características importantes:

  • Coloreado de sintaxis Python.
  • Depurador simple de aplicaciones.
  • Shell interactiva de Python integrada en el IDE.
  • Analizador de código que muestra errores en el mismo.
  • Autocompletado de código.

Este IDE es de software libre y lo mantienen diferentes organizaciones como la Universidad de Tartu (Estonia), el proyecto RaspberryPi o Cybernetica y se puede descargar en https://thonny.org/

IDLE

IDLE es un entorno de desarrollo presente en la mayoría de instalaciones de Python y que permite hacer una edición simple de código y depuración del mismo, entre sus características se pueden destacar las siguientes:

  • Coloreado de sintaxis Python.
  • Se include en instalaciones de Python en Windows y MacOS X.
  • Depurador de ejecuciones.
  • Shell de Python en el IDE.

El código fuente de este entorno de desarrollo se encuentra presente en la librería estándar y utiliza tkinter para su interfaz gráfica.

Existe un proyecto de software libre denominado idlex que provee de funcionalidades extra a IDLE, permitiendo mejorar la experiencia del usuario y el desarrollo. Se puede instalar utilizando pip o descargar e instalar desde el código fuente en https://sourceforge.net/projects/idlex/

IDEs generalistas usando Python

Visual Studio code

Visual Studio Code es un entorno de desarrollo de software libre, liberado y mantenido por Microsoft.

Es uno de los IDEs más utilizados en todo el mundo gracias a que soporta un gran número de lenguajes de programación incluyendo Java, JavaScript, Go, Node.js o C++ entre otros.

La integración con Python se hace a través de un plugin que instala parte específica para el lenguaje como:

  • Coloreado propio de sintaxis.
  • Capacidad de ejecución de código Python.
  • Integración con Jupyter Notebooks.
  • Depurador avanzado de variables.
  • Ejecución partes de código.
  • Autocompletado avanzado en Python (IntelliSense).
  • Integración con consola interactiva de Python.

Adicionalmente se pueden añadir más plugins desde el marketplace de VS como gather o pylance para ayudar a exportar jupyter notebooks o el autocompletado.

Para cualquier lenguaje VS da soporte a:

  • Posibilidad de extender el IDE con plugins.
  • Sistema de control de versiones.
  • Explorador de sistema de ficheros.
  • Soporte multi-ventana.
  • Integración con Microsoft Azure para desplegar aplicaciones.

Se puede descargar en: https://code.visualstudio.com/

PyDev o LiClipse

PyDev es un IDE de Python para Eclipse. Eclipse es un entorno de desarrollo software libre orientado al desarrollo de aplicaciones Java, pero con PyDev se integra:

  • Soporta interpretes de CPython, Jython e IronPython.
  • Integración con Django.
  • Permite autocompletado.
  • Coloreado de sintaxis de Python.
  • Dispone de depuración.
  • Integración de tests.

La forma más simple de obtener PyDev en eclipse es instalando LiClipse, dado que ya trae por defecto el soporte para Python y para PyDev.

PyDev también se puede incluir en Visual Studio code con una licencia de pago y se puede descargar en: https://www.pydev.org/

Editores de texto avanzados para Python

Atom

Atom es un editor de texto de software libre moderno. Es desarrollado por el equipo de GitHub haciendo que sea un editor muy completo teniendo las siguientes características:

  • Editor multiplataforma.
  • Sistema de paquetes interno.
  • Soporte excepcional de Git y de control de versiones.
  • Navegador de archivos.
  • Autocompletado avanzado.
  • Capacidad de trabajar con múltiples ventanas.

Es utilizado para muchos lenguajes de programación y también tiene soporte para Python. Se puede descargar en: https://atom.io/

Sublime Text

Sublime Text es un editor de texto, de software libre, multiplataforma con muchas funcionalidades añadidas como las siguientes:

  • Visualización de definiciones de código.
  • Búsqueda rápida de ficheros.
  • Edición de múltiples filas.
  • Capacidad de personalización.
  • Permite ser extendido via plugins.
  • Es rápido y liviano.
  • Permite trabajar con múltiples ventanas de edición.
  • Tiene soporte de control de versiones.

Se puede descargar en el siguiente enlace: https://www.sublimetext.com/

Vim

Vi Improved o Vim, es un editor de texto avanzado que ha sido utilizado durante años por muchos desarrolladores de lenguajes diferentes lo que lo hace una herramienta muy poderosa.

Originalmente era un editor de texto para ser utilizado en consola, pero en la actualidad también se encuentra como aplicación gráfica. Las características principales que tiene son:

  • Mapeado propio de teclas para edición.
  • Diferentes modos de edición.
  • Soporte para macros.
  • Gran variedad de plugins creados por la comunidad.
  • Capacidad de editado vertical.

La versatilidad que ofrece Vim se puede ver mermada por la curva de aprendizaje que require dado que cualquier extensión debe de hacerse utilizando plugins o personalizaciones propias.

Se encuentra incluido en los sistemas de paquetes de muchos sistemas operativos pero se puede descargar en: https://www.vim.org/download.php

Emacs

Emacs es un editor de texto escrito en Lisp y utilizado por multitud de programadores del mundo.

Ha sido durante mucho tiempo el rival de Vim pero a diferencia de este, la curva de aprendizaje es menos empinada haciendo que Emacs pueda utilizarse fácilmente, pero tenga el mismo potencial que ofrece Vim, pudiendo ser extendido con facilidad y personalizado hasta el extremo.

Se puede descargar en: https://www.gnu.org/software/emacs/

Conclusiones

Existe una gran variedad de entornos de desarrollo para Python disponibles y dependiendo de las preferencias de cada desarrollador/a se debería de elegir uno u otro.

Lo que como desarrollador/a se debe de buscar es ser eficiente y desarrollar cómodamente.

Es cierto que entornos de desarrollo como Pycharm, Spyder o Visual Studio code tienen muchas funcionalidades que mejoran la experiencia de usuario y por tanto son los más recomendados tanto para novatos como para expertos, pero editores de texto como Vim o Emacs se pueden personalizar para crear el IDE perfecto para cada desarrollador/a añadiendo sólo las funcionalidades más utilizadas e incluso automatizando tareas que en IDEs no sería posible. ¿Cuál es el tuyo?

Libros recomendados para aprender Python

Estos son los libros que pueden ayudarte a aprender Python, aprender a programar, tipos de datos, algoritmia y mucho más.

Disponible en:

Compartir

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Ver más

  • Responsable: Oscar Ramirez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento: No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a ionos (1&1) que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Publicar un comentario