
Tutorial rápido para configurar PyCharm y ejecutarlo en una instancia remota de GCP mediante un intérprete remoto por ssh
¿Qué buscamos lograr?
Escribe el código en tu laptop, pero ejecútalo en una máquina remota de Google Cloud con más RAM y CPU.
Al desarrollar una aplicación en Python, suele ser práctico ejecutar el código en una instancia de GCP (AI Notebook / Google Compute Engine). Esto resulta especialmente útil porque el código de Machine Learning (ML) o de procesamiento de datos suele requerir una máquina potente con varios CPUs y bastante RAM.
Otra ventaja es que, al ejecutarse de forma remota, el código se autentica frente a otros servicios de Google Cloud Platform usando la cuenta de servicio asociada a la instancia. Al terminar este tutorial, podrás usar PyCharm desde tu Mac mientras el código se ejecuta de forma remota en una VM de GCP.
Requisitos previos
Para empezar, necesitas lo siguiente:
- PyCharm Pro instalado en tu máquina Mac/Linux
- Una cuenta activa de GCP
Manos a la obra
Paso 1: Configura una llave ssh en tu Mac [1]
Ejecuta el siguiente comando en tu terminal de Mac/Linux para generar un nuevo par de llaves ssh:
ssh-keygen -t rsa -f ~/.ssh/[KEY_FILENAME]
En mi caso opté por no definir una passphrase para la llave y la nombré temp_key.
Da formato a la llave pública
Imprime el contenido del valor de la llave pública del par que creaste con el siguiente comando:
cat ./ssh/temp_key.pubCopia al portapapeles el contenido de la llave, desde la cadena ssh-rsa (incluida) hasta el signo "=" (antes del nombre de usuario).

Abre cualquier editor de texto y dale a la llave el siguiente formato:
ssh-rsa [KEY VALUE]= [USER_NAME]Conserva este texto para más adelante.
Paso 2: Crea o edita una VM en GCP
Ahora necesitas una máquina en la nube. A mí me gusta usar AI Notebooks porque vienen con un entorno de Python para AI preinstalado que incluye varias librerías de data science, ML y Google Cloud. Para crear un notebook, sigue esta guía.
Ten en cuenta que los AI Notebooks (ahora parte de Vertex AI) crean por debajo una instancia de Compute Engine. Tras crear una instancia simple de Compute Engine o un AI Notebook, deberás editarla para habilitar el acceso remoto vía SSH. Así PyCharm podrá copiar archivos a tus máquinas y conectarse al intérprete de Python.
Editar la máquina de un AI Notebook
La instancia del notebook llamada "my-instance" presenta los siguientes detalles:

Al hacer clic en "VIEW VM DETAILS" y luego en "EDIT" puedes modificar las especificaciones del compute engine que aloja el AI Notebook. Desplázate hasta SSH Keys y abre la lista desplegable: "show and edit".

Haz clic en "Add item" y pega la llave ssh con el formato adecuado, agregando un nombre de usuario al final. Si todo salió bien, tu nombre de usuario aparecerá a la izquierda de la llave.

También puedes configurar una IP externa estática para la máquina, así te aseguras de que su IP pública no cambie cada vez que la reinicies.
Paso 3: ¡Configura PyCharm!
Tu máquina ya puede aceptar conexiones SSH con el par de llaves que creaste. Lo único que falta es permitir que PyCharm despliegue y ejecute el código en esa máquina remota. Copia la IP externa de la máquina; aparece en los detalles de la VM cuando esta está en ejecución.

Después abre PyCharm > Preferences > Project:[name] > Python interpreter > ícono de opciones > add.

En Host, ingresa la IP externa de la máquina; en Username, escribe el nombre del usuario que utilizaste al crear la llave. Haz clic en "Next" para que PyCharm intente establecer la conexión con la VM. Después tendrás que proporcionar las credenciales correctas.

Apunta el campo "private key file" a la ubicación de la llave privada ssh (en nuestro caso /[user]/.ssh/temp_key, la que no tiene la extensión .pub).
Haz clic en next, ¡y listo! Verás que el intérprete ahora es tu entorno remoto de Python en la esquina inferior derecha de la pantalla. La primera vez puede tardar unos minutos en copiar los archivos auxiliares de PyCharm a la máquina remota y sincronizar los entornos de Python.

Avanzado: múltiples entornos de Python
A veces hay más de un entorno de Python instalado en la máquina remota. Por ejemplo, puede que tengas un entorno conda en tu AI Notebook. Puedes elegir con cuál trabajar editando la configuración de tu intérprete remoto.
Accede a la configuración del intérprete desde el menú inferior derecho de PyCharm:

De nuevo, edita la configuración de tu intérprete actual:

En "python interpreter path", pega la ubicación de tu instalación de Python en la máquina remota.

Resumen
Además del tutorial anterior, quiero compartirte un par de recursos. Puedes profundizar en la configuración avanzada del intérprete de Python en PyCharm con esta guía de JetBrains. ¿Te interesa la configuración avanzada de tu llave SSH en instancias de GCP? Revisa este recurso.
¡A seguir produciendo!
¡Gracias por leer! Para mantenerte al día, síguenos en el DoiT Engineering Blog , el canal de LinkedIn de DoiT y el canal de Twitter de DoiT . Para conocer las oportunidades laborales, visita https://careers.doit.com .