Para trabajar cómodamente con Python, es fundamental elegir el mejor IDE (integrated development environment, o entorno integrado de desarrollo).
Python es más que el lenguaje de programación de moda. A lo largo de sus más de 30 años de vida ha demostrado que es simple, práctico y eficiente para toda clase de desarrollo de software. Pero en los últimos años se ha vuelto el lenguaje de preferencia para ciencia de datos (data science) y aprendizaje de máquina (machine learning), por lo que su conocimiento se ha convertido en un talento muy codiciado por quienes buscan programadores. El dominio del lenguaje Python es imprescindible para el trabajo de los científicos de datos. Los mejores IDEs para Python son los que hacen más fácil la tarea a los programadores Python.
Cualquiera que desee incursionar en la programación Python debe, en principio, elegir con qué entorno de desarrollo, o sea, con qué IDE trabajará. Es por eso que, a continuación, analizamos las mejores opciones, según las opiniones de la comunidad de programadores de este lenguaje.
Si buscas aprender a programar en el lenguaje más popular de la actualidad, te recomiendo leer sobre los mejores libros en español para aprender Python.
Características deseables en un IDE
Sin importar que sea para Python o para cualquier otro lenguaje, hay ciertas características que los programadores esperamos encontrar en todo IDE, para poder trabajar con comodidad y eficiencia en el desarrollo de software. La principal es tener todas las herramientas al alcance de la mano: edición de código, depuración, ejecución y control de versiones. Todo esto integrado en una única interfaz de usuario.
En segundo término, es conveniente que el IDE para Python permita acceder directamente a herramientas externas que el propio IDE no ofrezca, como podrían ser analizadores de código o utilidades para hacer deployment en la nube. Y de ser posible, que sea un software libre de costo.
El soporte de distintos lenguajes es también un aspecto importante a considerar cuando se elige un IDE. Los IDEs multilenguaje son necesarios cuando se necesita estar switcheando entre fragmentos de código escritos en distintos lenguajes de programación, mientras que si se trabaja en un único lenguaje, conviene usar un IDE específico para ese lenguaje. Muy probablemente, sus herramientas estén optimizadas para trabajar con el lenguaje particular para el que fue creado.
Para trabajar cómodamente con un IDE de Python necesitarás un equipo potente. Si estás pensando adquirir una portátil para ciencia de datos con Python, te aconsejo leer esta lista de las mejores notebooks para ciencia de datos de la actualidad.
Edición de código
La ventana de edición de código es el lugar en donde los programadores pasamos la mayor parte de nuestro tiempo frente a la computadora. Es por eso que las herramientas dedicadas exclusivamente a la edición de código (sin toda la integración y accesorios que tienen los IDEs) cuentan con el favoritismo de muchos programadores que valoran las posibilidades de personalizar el espacio de trabajo a su antojo. A esto se suma la posibilidad de extender la funcionalidad del editor de texto con complementos (plug-ins o add-ins) que suman prestaciones, como verificación automática de código, autocompletar, revisión de sintaxis, formateo automático, etc.
Algunos editores de código representan mucho más que un editor de texto. Algunos se han vuelto tan complejos y ofrecen tal cantidad de extensiones que compiten de igual a igual con los IDEs, y hasta pueden llegar a remplazar a éstos. Es el caso de Visual Studio Code, que merece ser considerado como una opción más liviana y accesible que el IDE completo de Visual Studio, independientemente del lenguaje de programación que se utilice. Por esta razón, es inevitable considerar algunos editores de código que ofrecen ventajas sobre los IDEs más tradicionales.
¿Necesitas configurar un ambiente de desarrollo y testing para tus apps? Considera dar los primeros pasos con los contenedores Docker para arrancar con el pie derecho.
Veamos entonces la lista de contendientes, analicemos lo que tiene cada uno para ofrecer y averigüemos qué clase de usuarios prefiere a cada uno.
PyCharm
Un IDE específico para Python, disponible para sistemas operativos Windows, macOS y Linux. Cuenta con varias ediciones: la edición full o profesional, que tiene un costo; la edición Community, que es gratuita y sólo permite hacer desarrollo Python «puro» (es decir, no ofrece características profesionales como soporte para HTML, JS o SQL, ni para desarrollo web o científico), y la edición educativa, que ofrece gratuitamente las características profesionales a estudiantes y profesores en instituciones educativas acreditadas.
Las herramientas integradas en PyCharm incluyen un editor de código inteligente, utilidades de navegación y refactoring, un depurador (debugger) y un ejecutor de pruebas. El entorno de desarrollo también ofrece soporte para diversos sistemas de control de versiones (VCS) y permite inspecciones de código. En este sentido, el IDE ofrece una de las más avanzadas utilidades de inspección de código de todos los IDEs de Python, proveyendo análisis de código estático y en runtime que hace difícil introducir errores evitables en el código.
La versión profesional suma algunas características adicionales, como un profiler de Python, desarrollo remoto, utilidades de bases de datos, asistencia para desarrollo web (con soporte para los frameworks más populares) y utilidades científicas.
Quiénes eligen PyCharm
Todos los programadores Python, sin importar que sean principiantes o expertos, pueden encontrar una versión de PyCharm adecuada a sus necesidades. Pero los programadores expertos que quieran contar con las bondades de la edición full, deben pagar su costo. Por esta razón, quizás prefieran recurrir a un «combo» de herramientas de código abierto, como PyDev o Visual Studio Code, que pueden brindar la misma funcionalidad sin desembolsar ni un centavo.
Eclipse / PyDev / LiClipse
Si bien se trata de tres productos separados con funciones diferenciadas, la combinación de los tres compone una de las herramientas más completas para trabajar en Python. Y lo bueno es que todas son de código abierto.
Desarrollado por la Eclipse Foundation, el IDE fue originalmente pensado para programar en Java, pero resulta perfectamente adecuado para Python cuando se le adiciona el add-in PyDev. Para completar la receta, es recomendable sumar también a la librería LiClipse.
PyDev aporta al combo un editor de código con inteligencia para autocompletar, un depurador, y herramientas de navegación y refactoring. A esto le suma una consola interactiva y herramientas para análisis y cobertura de código.
A su vez, LiClipse le agrega a PyDev soporte para otros lenguajes de programación y de definición de plantillas complementarios a Python. Por ejemplo: HTML, JavaScript, CSS, Django Templates, Dart, entre otros. La combinación Eclipse+PyDev+LiClipse compone un IDE open-source con todo lo necesario para los programadores Python más exigentes.
Quiénes eligen Eclipse con PyDev y LiClipse:
Los programadores que han utilizado Eclipse con otros lenguajes, están acostumbrados a su interfaz de uso y aprecian el hecho de que sea de código abierto.
Jupyter Notebook
Con Jupyter Notebook es posible comenzar a programar en Python sin preámbulos. Es gratis, es de código abierto y se basa en un entorno web que no consume recursos locales. Para usar Jupyter Notebook se puede instalar un servidor Jupyter o utilizar uno de los muchos servidores públicos que permiten trabajar con notebooks Jupyter en forma inmediata y gratuita. Para mencionar algunos: Binder, Google Colab, Datalore y CoCalc.
Quizás el aspecto más destacable de Jupyter Notebook es que el código es parte de un documento, que puede incluir texto markdown, ecuaciones y visualizaciones. Esta característica resulta muy conveniente para aquellos que les interesa aprender a programar en Python en forma práctica. El documento con el que se trabaja en Jupyter no es estático, ya que el código puede ejecutarse in-situ y ver los resultados de la ejecución en forma inmediata.
Quienes se dedican al aprendizaje de máquina (machine learning) y a las ciencias de datos (data science) suelen apreciar las virtudes de Jupyter Notebook para crear múltiples bloques de código y acompañarlos con la documentación necesaria (ecuaciones, descripciones, gráficos, etc.) para que cualquier otro programador comprenda fácilmente lo que hace el código.
Además, Jupyter Notebook incluye un entorno de ploteo interactivo con el que se puede visualizar la información generada, sin necesidad de usar un software especial para ello.
Quiénes eligen Jupyter Notebook
Los científicos de datos que trabajan en entornos colaborativos, los profesores de programación, los alumnos y los programadores ocasionales que aprecian la ventaja de empezar rápidamente a escribir y ejecutar código Python sin necesidad de instalar un entorno de desarrollo que corra localmente en sus equipos.
Spyder
Spyder es un completo IDE creado por y para científicos. Se incluye como parte de la distribución Anaconda, y cuenta con instaladores stand-alone para Windows y MacOS.
El IDE de Spyder incluye un editor con resaltado de sintaxis, introspección, análisis en tiempo real, autocompletado de código, entre otras virtudes. Además, ofrece un depurador, un profiler, explorador de variables, consola IPython, análisis de código estático, explorador de archivos y log de historial.
Una cualidad de Spyder que lo convierte en el IDE de preferencia para muchos científicos es su integración con numerosas librerías populares en el ámbito de las ciencias, como matplotlib, Pandas, NumPy, SciPy, QtConsole, IPython, SymPy, entre otras. Spyder es, además, altamente personalizable con plugins de terceros, y puede emplearse como una extensión de la librería PyQt5.
Quiénes eligen Spyder
Spyder es la opción de preferencia para quienes trabajan en las áreas de aprendizaje de máquina o ciencias de datos y buscan una herramienta completa que les facilite la búsqueda de librerías y herramientas accesorias.
Visual Studio Code
Según una encuesta de JetBrains de 2019, Visual Studio Code (o VS Code, para no escribir tanto) es el segundo entorno de desarrollo más utilizado por los programadores Python. Y hay varias razones por las que muchos programadores lo prefieren.
Primero que nada, su velocidad. Normalmente, el entorno abre en poco más de un segundo. Es bastante más veloz que los IDEs completos, aunque no tanto como otros editores de código más minimalistas, como podría ser Sublime Text.
Otra de las virtudes de VS Code es que guarda todo. No haca falta estar presionando Ctrl+S periódicamente para guardar los cambios. En cualquier momento se puede cerrar el editor y, la próxima vez que lo abramos, los últimos cambios que hayamos hecho estarán allí.
El editor de VS Code ofrece atajos de teclado y utilidades que resultarán familiares a cualquier usuario de Visual Studio. Además, gracias al plugin Pylance, cuenta con una maravillosa herramienta de autocompletar que lleva a Intellisense a un nuevo nivel. Las herramientas de debugging, integración con herramientas de testeo unitario, control de versiones, comparación de archivos fuente, entre otras, hacen entendible que esta herramienta cuente con tantos adeptos.
VS Code es multiplataforma: además de Windows, funciona en Linux y en OSX. Esto sorprende siendo que el producto viene de manos de Microsoft, una empresa que se caracteriza por querer mantener a sus usuarios dentro del entorno Windows.
Quiénes eligen VS Code
Los programadores Python que no discriminan a Microsoft sólo por ser la creadora de Windows pueden favorecerse con las bondades de VS Code. Es un software liviano, ofrece todas las facilidades para edición de código que ya conocen bien los usuarios de Visual Studio, y se integra prácticamente con cualquier herramienta de desarrollo que podamos imaginar.
Sublime Text
Si bien no está en los primeros puestos del ranking de popularidad de IDEs para Python, Sublime Text tiene muchos adeptos que lo prefieren antes que cualquier otro de los entornos de desarrollo que soportan programación Python.
Una de las razones de la popularidad de Sublime Text es su performance. Según una comparación de latencias de tipeo hecha por el programador y blogger Pavel Fatin, Sublime Text es de los que presenta mayor responsividad. Además es veloz en el inicio. Si bien no es común reiniciar con frecuencia el entorno de desarrollo, es bueno que cuando haya que reiniciarlo no haya que esperar un largo rato a que cargue todos los componentes de un pesado IDE.
Sublime Text también cuenta con un gran surtido de plugins de donde elegir, gracias a una entusiasta comunidad de programadores que hasta el momento ha escrito miles de plugins para facilitar toda clase de tareas de desarrollo.
Sublime Text es multiplataforma, estando disponible para Mac, Linux y Windows. Sin embargo, no es de código abierto, lo cual es una desventaja frente a otros contendientes, como VS Studio.
Quiénes eligen Sublime Text
Este editor de código es la elección de los desarrolladores que prefieren entornos de desarrollo veloces, prácticos, de alta performance, responsivos y multiplataforma.
Vim
Vim es un potente editor de texto incluido entre los componentes por defecto de toda distribución de Linux, además de Mac OSX. El hecho de tener un concepto propio de uso genera una polarización de usuarios, entre los que adoran a Vim y los que lo odian.
Otros editores de código, como VS Code o Sublime Text, pueden reemplazar a los IDEs tradicionales a la hora de trabajar en Python. En el caso de Vim, si bien es utilizado por muchos programadores tanto de Python como de otros lenguajes de programación, se vuelve problemático cuando se lo pretende utilizar para algo para lo que no fue diseñado. Por ejemplo, como un IDE de Python. Lo que tiene Python de particular es que depende fuertemente de utilidades suplementarias como inspección de código, detección de errores al vuelo, chequeos de dependencias, control de versiones, entre otras. Todas estas utilidades deben trabajar juntas en forma confiable y eficiente.
Vim vim tiene muchas opciones de personalización, cuenta con plugins, pero está lejos de ser un IDE. Se le pueden aplicar muchos «hacks» para hacerlo más versátil, pero en ocasiones se termina con un espacio de trabajo sobrecargado y algo confuso. No es lo ideal para quienes buscan un auténtico IDE de Python.
PyCharm ofrece una interesante alternativa para quienes están muy habituados al manejo de Vim pero necesitan un IDE de Python completo. El plugin IdeaVim modifica el comportamiento del editor de texto de PyCharm incorporando muchas características propias de Vim, como atajos de teclado, teclas de movimiento, comandos, registros, macros, modos y mucho más.
Quiénes eligen Vim
Aquellos que lo conocen y que están acostumbrados a su forma de trabajo. Muchos usuarios prefieren mantener el estilo de trabajo de Vim y resignar una fuerte integración con las utilidades de programación que requiere Python, antes que adaptarse al estilo de trabajo propio de otros editores de código Python.
Elegir sin temor
Lo bueno de programar en Python es que el código fuente se puede transportar de un entorno de desarrollo a otro sin que se pierda nada. Por esta razón, cuando se elige un IDE, esa elección no tiene que ser para siempre. Podemos elegir uno, usarlo un tiempo, y si no nos gusta, probamos otro.
La lista de opciones que enumeramos en esta nota cubre los principales contendientes en el rubro de entornos de desarrollo integrado con soporte para el lenguaje Python. Hay otras opciones, como Emacs y Atom, que no hemos incluido en la lista por no contar con experiencia de uso con ellos. Pero es posible que en el futuro los incluyamos. Por lo pronto, podemos asegurar que cualquiera de las opciones de esta lista son más que idóneas para trabajar adecuadamente en programación Python.
Te sugerimos leer también
Las herramientas low code preferidas por los desarrolladores
Los 8 mejores servicios de hosting MySQL
Visual Studio vs. Visual Studio Code, 1er round
6 comentarios en «Los 7 mejores IDEs para Python»