Diario de Python | #3. Pycharm, el mejor IDE para Python
Tags: python, devjournal, spanish
Published: 2023-01-30 12:59:48

Vengo trabajando con la familia de [JetBrains](https://www.jetbrains.com/es-es/) hace años y nunca me decepcionaron.

- Cuando desarrollaba en PHP con Laravel, utilizaba [PhpStorm](https://www.jetbrains.com/es-es/phpstorm/)
- Luego me fui de Eclipse para saltar a [IntelliJ IDEA](https://www.jetbrains.com/es-es/idea/) y programar en Java; más tarde lo usaría para Kotlin y Dart.
- En su momento probé desarrollar web con [WebStorm](https://www.jetbrains.com/es-es/webstorm/), aunque me pareció más cómodo Visual Studio Code en estos aspectos.

Hoy en día, con mis [últimas decisiones](https://dev.to/maxwellnewage/diario-de-python-2-mi-propio-plan-full-stack-40i3), me decanto por [PyCharm](https://www.jetbrains.com/es-es/pycharm/) para desarrollar en Python y sus frameworks.

## Las razones
En pocas palabras, PyCharm pertenece a la misma familia de IDEs que vengo usando hace casi una década. Esto es importante porque tanto los atajos, como las opciones y la forma en que funciona cada programa **comparten grandes similitudes**.

Esto significa que la curva de aprendizaje se reduce con cada IDE que probemos. Por supuesto, hay algunos que comparten diferencias fundamentales que dependen de la tecnología: en Android viene implementado el plugin de Gradle para correr las tareas de compilación y ejecución entre otras, pero en PyCharm esto no existe porque no aplica a Python.

Hay más razones que se explicarán más adelante, pero primero vayamos a la instalación.

## Instalación de Python
Antes de empezar, debes tener instalado [Python](https://www.python.org/). En la imagen se muestra la descarga para Windows:

![Instalación de Python](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/35kks39frrcf0h1wh0fs.png)

## Instalación de PyCharm
En primer lugar, ingresamos al [sitio web de descarga oficial](https://www.jetbrains.com/es-es/pycharm/download/#section=windows).

> Aclaración importante: Los pasos son para una PC con Windows, pero también hay opciones para macOS y Linux en el mismo sitio.

Luego hacemos clic en la descarga de la versión community, porque la otra es paga (con más facilidades a la hora de configurar proyectos) con una prueba de 7 días.

![Elección Versión Community](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tnaq9tjg5ywjdc6c8p6i.png)

Si bien la versión Professional reza:

> Para desarrollo de Python tanto científico como de web. Compatible con HTML, JS y SQL.

En realidad en la versión Community podemos hacer lo mismo, solo que nos llevará un poquito más de trabajo inicial.

A continuación dejo una imagen donde se detallan las diferencias de las versiones:

![Versión Community versus Professional](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c65nsk320piu350e9e8u.png)

Luego de las primeras pantallas de la instalación (no es más que siguiente, siguiente, siguiente), debemos especificar estas opciones:

![Instalación](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ljpz089jy9pdn5i9xbjb.png)

¿Qué representan exactamente?
- 64-bit launcher: Es el atajo en el escritorio del IDE en la versión de 64 bits, recomendada para los procesadores actuales.
- PATH variable: Esto permitirá ejecutar el launcher del IDE desde una consola. Muy útil cuando tengamos que trabajar con operaciones externas al IDE mismo.

Finalmente, una vez terminemos la instalación y ejecutemos el IDE, nos aparecerá un mensaje como este:

![Configuración IDE](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nedq4mmcg1m0m3ns2r0g.png)

Esto significa traernos el caché de una configuración anterior (si estamos re-instalando el IDE), o no importar nada y empezar de cero. Por supuesto, si están entrando en el mundo de PyCharm, la segunda opción es la indicada para ustedes.

## Creación de un Proyecto
Una de las mejores características que encontré en este IDE es la facilidad con la que iniciamos un proyecto nuevo.

Cuando iniciamos PyCharm, nos aparecerá una ventana como esta (sin proyectos):

![PyCharm pantalla inicial](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3e4fyqnb2ep0v56qeko2.png)

Luego le damos al botón New Proyect:

![New Proyect](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2icolrwkjjsnfnbdjm79.png)

Y aquí nos demuestra cómo nos va a generar toda la configuración necesaria sin que nosotros tengamos que crear el entorno de Python (venv), ni los archivos iniciales.

Analicemos las opciones:
- Location: La carpeta donde vamos a generar el proyecto, en mi caso "proyecto_devto".
- New environment using: Explicar esto ahora puede ser complejo para los iniciados en Python, pero existen distintos tipos de entornos que podemos utilizar. Virtualenv es el que viene por defecto, pero por ejemplo tenemos Conda (de Anaconda), Poetry o Pipenv. Vamos a dejarlo así.
- Create a main.py: Esto es genial porque ya nos genera un archivo python el cual será el punto de partida de nuestro proyecto.

Le damos a Create:

![Create New Proyect](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6o24npi1x20e56xuk8gz.png)

> Los colores en mi caso son distintos porque utilizo un theme para alegrar mis días. Por defecto el esquema de color en el editor será una variedad de grises y naranjas.

El botón verde de play (tanto arriba a la derecha como en la línea 13) nos permite ejecutar el script main.py. A diferencia de otros editores, no tendremos que trabajar con una consola aparte para correr nuestros scripts.

![Play main](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0ffbx0qwplqq0pijyk12.png)

Además podemos utilizar un debugging, el cual nos permitirá posicionarnos en una línea específica y comprobar los valores de nuestro scope de objetos.

Le damos a Run 'main' y obtenemos la salida de la consola (dentro del IDE):

![Consola PyCharm](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rcdcbd5h30cey6kpqz83.png)

## Conclusiones
Esto sería lo básico que nos ofrece PyCharm para poder trabajar con nuestras aplicaciones en Python. En futuros artículos explotaremos más características interesantes como por ejemplo la instalación y configuración de FastAPI para levantar un servidor con Uvicorn, todo en el propio IDE.