Durante estos últimos años he probado diferentes editores de código mientras implementaba mis aplicaciones y scripts en Python. Algunos me han convencido mas que otros, y algunos, se adaptaban mejor que otros a mi flujo de trabajo. He ido de editor de código en editor de código hasta que encontré PyCharm. PyCharm es el editor Python, o al menos para mi es el editor de código Python de referencia. Aúna en un editor todas las herramientas que necesitarás para editar código y hacerlo de forma efectiva. Es por esta razón que es el editor de código que te recomiendo actualmente.
Esto, no quiere decir, que sea el editor de código que utilizo yo, no quiero que te lleves a engañó. Actualmente, estoy a caballo, entre PyCharm y NeoVim, aunque te confieso, que siempre que puedo me decanto por NeoVim. Pero esto es porque se adapta mejor a mi flujo de trabajo. Sin embargo, como ves, no es el que te recomiendo. NeoVim tiene una fuerte curva de aprendizaje, que no tiene PyCharm.
PyCharm, el editor Python
¿Que es PyCharm?
PyCharm es un editor Python multiplataforma, disponible para Linux, MacOs y Windows, y que soporta Python 2 y 3. Se trata de una herramienta que viene con una serie de herramientas y utilizdades que lo convierten en la pieza fundamental para trabajar con Python. Así, vas a encontrar en PyCharm, además de un editor de código, las siguientes herramientas,
- Un depurador gráfico
- Una herramienta para realizar test unitarios integrados.
- Control de versiones integrados
- Soporte para Data Science de la mano de Anaconda.
Es probable que si estás recién llegado a esto de Python, e incluso al mundo de la programación, algunas de las cosas que te cuento no tengan mucho sentido para ti.
Sin embargo, con el reto Python, quiero que todo esto no te suene raro. Es mas, quiero que lo uses.
Y es que me he dado cuenta que lo que puedes encontrar en tutoriales a lo largo y ancho de Internet, adolecen de profundizar en lo que realmente se utiliza. Es cierto, que profundizan en las entrañas del lenguaje de programación. Sin embargo, cuando buscas sobre depuración o testing, los resultados no son tan abundantes.
PyCharm, es una aplicación cargada de herramientas de análisis, depuración, testing. Pensada en desarrolladores y para desarrolladores. Con la posibilidad de añadir complementos que te faciliten la generación de código de forma sencilla.
¿Que cuesta PyCharm?
PyCharm tiene tres versiones,
- Community Edition, liberada bajo licencia Apache.
- Professional Edition, liberada bajo licencia propietaria.
- Edu Edition, una licencia pensada para aquellos que quieran aprender Python y disponible bajo licencia Apache.
En mi caso, siempre instalo la Community Edition, y particularmente es la que te recomiendo, pero como siempre, depende de ti.
Características de PyCharm
PyCharm es de esas herramientas que te permitirá editar código recién instalada. Así como otras herramientas, necesitas instalarles diferentes complementos para que te permita editar código Python, en el caso de PyCharm es instalar y programar. Respecto a las características, vas a encontrar lo habitual,
- resaltado de sintáxis
- autocompletado
- análisis estático de código
Además PyCharm tiene integración con diferentes herramientas que te ayudarán en el desarrollo de código, tanto desde el punto de vista de la calidad del mismo como de la productividad a la hora de implementarlo. Algunas de las herramientas integradas con PyCharm son las siguientes,
- Anaconda, pensada en el Data Science
- IPython, una línea de comandos interacita
- Kite un complemento de autocompletado potenciado por inteligencia artificial.
- Pylint, una herramienta que te permite verificar la calidad del código.
- pytest, un marco de trabajo para la implementación de pequeños test de código.
- WakaTime, un tabllero integrado con información referente a métricas.
Desarrollo remoto
Algo que está muy a la orden del día, es el desarrollo remoto. PyCharm te permite ejecutar, depurar, probar y desplegar aplicaciones en servidores remotos. Para esto, PyCharm, te proporciona,
- una terminal SSH completamente integrada
- Integración con Docker y Vagran
- Intérpretes remotos
Integración con control de versiones
De nuevo, en el caso de estos sean tus primeros pasos en el mundo de la programación, esto del control de versiones te sonará, no solo como raruno, si no que no te hace falta para nada.
El día que conocí la existencia del control de versiones, casi me explota la cabeza. Esto de poder gestionar los diferentes cambios que se producen, y no solo esto, sino además tener la posibilidad de hacer un regreso al pasado, es sencillamente espectacular.
En este reto Python voy a hacer uso del control de versiones, y este es, precisamente el centro del próximo episodio del podcast.
El control de versiones, es sencillamente una pasada, y te va a ayudar, no solo en el dearrollo de código, si no mucho mas. Todo es cuestión de que lo integres en diferentes facetas de tu vida.
Sea como fuere, el control de versiones, está integrado dentro de PyCharm, con lo que es algo que te tranquilizará.
Complementos para PyCharm
Al igual que sucede con Visual Studio Code, en el caso de PyCharm, también tienes la posibilidad de instalar diferentes complementos que te harán la vida mas sencilla. Así tienes lo siguientes que te pueden resultar interesantes,
- Rainbow Brackets, una herramienta que te ayuda a identificar las parejas de paréntesis, corchetes, llaves, etc, a lo largo y ancho de tu código.
- grep console. Amo profundamente grep. Así como lo has leído.
grep
es una de esas herramientas que utilizo a lo largo del día en innumerables ocasiones. La utilizo de forma constante.Grep Console
es una herramienta que te ayuda a buscar en tu código. - Key Promoter X, diferentes atajos de teclado para hacerte la vida mas productiva.
- String Manipulation. Algo con lo que me suelo pelear en mi día a día es con el texto. Convertir de mayúsculas a minúsculas, capitalizar, quitar espacios, cambiar el orden de determinados caracteres… Este complemento se especializa principalmente en esto.
- Save actions. Un complemento que se encargará de hacer tu trabajo o casi, cuando guardes cada archivo. Así, optimiza las importaciones, reorganiza y reformatea el código y mucho mas.
- Sonar Lint. Se trata de un linter que no solo te ayudará a mejorar en tu código sino que además te facilitará la corrección del mismo.
- Tabnine, del que también te hablé en el episodio de Visual Studio Code, pero que finalmente yo he desechado.
- Vim, de nuevo te traigo los atajos de teclado de Vim a PyCharm, para los que buscamos la potencia, de escribir con Vim, en otros editores.
Instalación
En el caso de Linux, y supongo que sucederá lo mismo tanto con Windows como con MacOS, existen paquetes disponibles en la propia web de los desarrolladores disponibles. Simplemente es descargar el paquete que toca, descomprimir, y empezar a escribir código.