Como Python es un lenguaje de programacion que puede llegar a ser usado en distintas areas de las ciencias de la computacion (Data Science, Hacking, Web Development, DevOps), en este articulo me gustaría mencionarles los editores de código y IDEs (Integrated Development Environment) más utiles para trabajar con Python.
Y para aquel que no conozca estos terminos (editores de codigoo o IDES), solo debe tener en cuenta que un IDE, en español, Entorno de desarrollo integrado, es basicamente un programa que permite escribir codigo, solo que posee una enorme cantidad de funcionalidades ya incluidas en un solo paquete, como Debuggers, autocompletado de codigo, y una interfaz grafica con mas caracteristicas como navegacion de archivos, mejores analisis de erroes, entre otros, es decir es un entorno completo que ya trae todo listo, aunque justamente por esto tambien es pesado, es por esto que IDEs como Visual Studio o los de Jetbrains tienden a necesitar de mas recursos (Espacio en disco, RAM) para usarlos fluidamente.
Los editores de codigo por otro lado son softaware que tambien permiten editar codigo solo que son mas ligeros, y puedes ir aumentandoles mas caracteristicas a traves de Plugins a medida que lo necesites.
Entonces sabiendo esto, esta es la lista de los editores de codigo y IDEs que voy a mencionar:
Aunque tambien mencionare otros mas para que puedan enterarse de otras alternativas.
Caracterisitcias comunes
Y antes de empezar, para no repetir lo mismo, primero voy a mencionar todas las caracterisiticas que tienen en comun todos estos editores e IDEs.
Por ejemplo, Todos estos programas que mencionaré son:
- Multiplataforma, es decir se pueden instalar en Linux, Windows y Mac.
- plan grauito o son gratis totalmente
- soportan las moyorias de herramientas de Python, como linters, autcomplete, virtual environments, debugging, test runners, y formateadores de codigo
- Git support
- Adema que todos estos los puedes encontrar siendo usados en entornos laborales.
Entonces a partir de aqui vamos a ver sus caracterisiticas principales de cada uno. Empecemos con Sublime Text.
Sublime Text
De todos los editores que te voy a mencionar hoy, Sublime Text es uno de los que mejor rendimiento tiene, consume muy poco espacio, y consume muy poca RAM, ademas que su interfaz de usuario es muy intuitiva y facil de usar, basicamente es como un bloc de notas que puedes ir extendiendo de a pocos con plugins.
Estos plugins son creados por la comunidad y pueden ser descargados desde un sitio llamado package control en donde puedes encontrar temas, soporte de otros lenguajes, ademas de añadir mas funcionalidades
Aunque Sublime Text ya viene con soporte a Python, asi que no es necesario instalar plugins para trabajar con el lenguaje, De hecho esta desarrollado en Python, y puede ser muy veloz al poder usar el GPU (Tarjeta Grafica) para poder renderizar mucho mas rapido la interfaz.
Este editor no es Open Source y en teoria tampoco es gratuito, tiene una licencia personal de 99$ cada 3 años, aunque en internet esto no nunca ha sido problema realmente (ya que lo crackean con facilidad)
Y aunque tiene plugins muy utiles para trabajar con practicamente cualquier lenguaje de programacion popular, estos ultimos años su popularidad ha caida mucho en favor de Visual Studio code que es mucho mas facil de usar, ademas de ser gratuito y Open Source.
Sin embargo si solo planeas trabajar con Python, y buscas algo simple, comodo y personalizable, Sublime text sigue siendo una buena opcion.
VIM
Si Sublime Text es un editor de codigo ligero, Vim es un editor super Ligero, de hecho este editor practicamente lo puedes ejecutar desde una Terminal, es decir que Vim no necesita de una interfaz grafica o GUI, sino que usa una interfaz textual o TUI (Textual User interface).
Este es un editor muy antiguo, pero hasta el dia de hoy muchos desarrolladores, Administradores de sistemas y hackers lo siguen usando al ser muy ligero, y consumir muy poco recursos, lo que lo hace tambien mas rapido que otros editores.
Aunque para los que recien empiezan a programar puede llegar ser muy dificil, porque este editor no es nada intuitivo, de hecho este editor solo funciona usando combinaciones de teclas, y no permite usar el mouse, esto significa que primero tienes que pasar unas cuantas horas practicando sus combinaciones y luego recien podras empezar a programar.
Esto para muchos se les hace demasiado trabajo, aunque si lo dominas, puedes ver incrementada tu productivdiad, ademas que sus combinaciones de teclas pueden ser usadas en otros editores como Sublime Text, Visual Studio Code y tambien PyCharm, al ser relativamente populares.
Ademas este editor es super personalizable, y aunque quizas no lo parezca tiene una comunidad muy activa, con una enorme cantidad de plugins, temas, y soporte a practicamente a cualquier lenguaje de programacion.
Aunque este editor como es algo viejo, tambien tiene un Fork o version alternativa que actualmente uso, llamada Neovim que posee plugins mas modernos (escritos en Lua). Aun asi ambos son practicamente lo mismo y trabajar con Plugins de Python es muy facil al incluso muchos de sus plugins estar escritos tambien en Python.
Visual Studio Code (VSCode)
Visual studio code es un Editor de codigo creado por MIcrosoft, el cual es gratuito y open source, y al dia de hoy posee una excelente integracion con proyectos de Python, aunque tipicamente lo veras siendo usado cuando se trabaja con Python en proyectos web usando Frameworks como Django, Flask, FastAPI, etc.
Es un programa muy facil de instalar, personalizar, y aun si eres un iniciante, puede ser un programa muy facil de entender. Ademas que al ser el editor de codigo mas popular en muchos lenguajes de progrmaacio, encontraras muchos PLugins o extensiones que te pueden facilitar la documentacion, como el autocompleta, el tener una configuracion personalizad o incluso el tener plugins que te permiten tener atajos de teclados similar a Vim, o Emacs, dtron de VsCode.
Y si vas a desarrollar en Python, este tiene una extension especial para Python, creada por Microsoft que permite tener Autocompletado, Linting, Debugging, puedes ejecutar multiples entornso virtuales, testing, e incluso puedes abrir un Jupyter Notebook dentro de VSCode
Actualmente este es uno de los editores mas populares del desarrollo de Software, y no solo por su facilidad de uso sino por su portabilidad, que puede ser usado desde Linux, Windows, Mac, Raspberry, o incluso desde la web, usando Github CodeSpaces o sitios web similares.
Jupyter Notebooks
Ahora si estas estudiando Python, especificamente en ciencia de datos (machine learning, computacion cuantica, matematicas, etc), puede que estes usando o vayas a usar Jupyter, que es un conjunto de herramientas que te permien ejecutar codigo de forma interactiva y crear documentos cientificos avanzados.
- simulaciones numericas
- modelos estadisticos
- ecuaciones
- visualizaciones de datos
Bueno a pesar que este no sea un editor de codigo o IDE, vale la pena mencionarlo porque incluso Jupyter Notebook puede ser incluido dentro de editores como Visual studio code o Pycharm
Aunque otras formas de usar este Notebook sin instalar nada es usando servicio como Azure Notebooks, Google Colab, or Watson Studio Cloud.
Incluso hay quien lo usa como simplemente un editor de texto al estilo de word, o de nuevo como libreta de apuntes.
Pycharm
Desarrollado por Jetbrains este es un IDE dedicado tan solo a Python, Tiene un costo si usas su version PRO (en la que esta ultima permite tener un perfil de Desarrollador, permite trabajar remotamente, y tiene herramientas de base de datos), aunque tambien posee una version Community Gratuita.
Es un Editor de proposito general, es decir sirve para cualquier tipo dedesarrollo en python.
viene con herramientas por defecto de autocompletado, deteccion de errores, refactorizado, correcion rapida, etc. posee soporte para multiples frameworks y bibliteas d epython
Aunque su caracterisitica mas util es justamente la facilidad con la que se puede explorar archivos, de hecho esta es una de las razones por las que el mismo creador de python lo usa
aunque Pycharm al ser un IDE este require que posee mas espacio en disco y consume muchos mas recursos al ejecutarse, ya que tienes a tu disposicion mas herramientas.
Y por cierto tambien es posible instalar Plugins, por ejemplo en Pycharm o cualquier otro IDE de Jetrbrains, puedes instalar github copilot, que es una autocompletado inteligente creado por Microsoft.
De hechoe ste tambien esta diponible para Visual Studio code y vim (y Neovim).
Otros Editores de Codigo o IDE
Y Finalmente estos son otros editores de código que puedes usar con Python, los he dejado por a parte porque muchos de estos solo ofrecen funcionalidades muy basicas o no son tan populares como los anteriores, aun asi si estas buscando otras opciones, algunas otras importantes son:
- GNU Emacs
- Notepadd++, Este Editor probablemente sea el mas simple de utilizar de todos los editores que te he mencionado, porque como su nombre indica es como el block de notas pero con soporte para lenguajes de programacion, Ideal si se esta empezando el mundo del desarrollo, pero no muy recomendado para un entorno de trabajo real.
- Eclipse, es un IDE bastante usado para Java, pero con su plugin PyDev, se convierte en un IDE gratuito dedica al lenguaje Python, bastante recomendado si ya se ha desarrollado en Java/C++ en este editor.
- Ipython Notebook
- Spyder IDE
- Thonny
- Wing
- Eric Python
- Rodeo
- Active Python
- IDLE, o el propio IDE que viene con Python en windows tambien puede ser una excelente opcion si no quieres complicarte mucho al empezar.
Desfasados
- Atom. Inicialmente desarrollado por Github, Este editor fue uno de mis programas favoritos hace años, pero con la compra de Github pro parte de Microsoft, este IDE no ha tenido grandes mejores o avances, asi que su futuro es incierto y VSCode al ser de la misma empresa es una mejor opcion actualmente.
Conclusion
En fin, en lo personal uso mucho Python con visual Studio Code, porque como uso otros lenguajes, el soporte de paquetes (GraphQL, Thunder Client) de otros entornos es muy util. Pero cuando quiero ir un poco mas rapido y ya se lo que tengo que hacer, uso mucho neovim, por sus atajos y rendimiento, ademas como ofrece plugins algo similares a los de VSCode, no es tanto problema cambiar, y si tengo que buscar archivos en un proyecto bastante grande usar un IDE como Pycharm es una muy buena idea, aunque sus atajos son completamente distintos.
Pero al final cada desarrolladores debe usar la herramienta con la que mejora se adapta asi que esto es una preferencia personal.
Asi que comentenme, ¿ustedes que editor de codigo o IDE usan cuando trabajan con Python?
Más Recursos
- https://www.stxnext.com/blog/best-python-ides-code-editors/
- https://www.jetbrains.com/lp/devecosystem-2019/python/
- https://www.spyder-ide.org/
- https://realpython.com/python-ides-code-editors-guide/
- https://www.softwaretestinghelp.com/python-ide-code-editors/
- https://hackr.io/blog/best-python-ide
- https://www.programiz.com/python-programming/ide
- https://www.guru99.com/python-ide-code-editor.html
- https://www.kdnuggets.com/2021/01/best-python-ide-code-editors.html
- https://dev.to/educative/10-best-python-ides-and-code-editors-to-use-in-2021-1jk
- https://towardsdatascience.com/best-python-ides-and-code-editors-you-should-know-part-2-47072250c0d2
- https://phoenixnap.com/kb/best-python-ide-code-editor