Hay formas de utilizar el lenguaje de programación Python en un dispositivo Android, iPhone o iPad típico, pero con menos funciones disponibles que Python en la mayoría de las computadoras de escritorio. Afortunadamente, aún puedes obtener la experiencia Python completa en esos dispositivos; solo necesitas una Raspberry Pi u otro servidor de bajo consumo en la misma red.
Puede configurar un entorno de desarrollo Python como Raspberry Pi y luego usarlo en cualquier otra computadora, teléfono o tableta en su red mediante sesiones SSH o escritorio remoto. Una sesión SSH le brinda una experiencia similar a la de ejecutar Python en cualquier terminal o símbolo del sistema, aunque la experiencia de edición no es ideal en la mayoría de los teléfonos y tabletas. Una sesión de escritorio remoto funciona igual que la propia pantalla de su Pi, con algo de latencia y compresión de video adicionales.
Esta guía está escrita principalmente para una Raspberry Pi que ejecuta el sistema operativo Raspberry Pi (anteriormente llamado Raspbian). Las instrucciones también deberían funcionar para la mayoría de los dispositivos que ejecutan Debian o una distribución basada en Debian como Ubuntu. Su kilometraje puede variar si su Pi ejecuta otro sistema operativo.
Configurar Python, SSH y escritorio remoto
Necesitamos configurar tres componentes: el entorno Python, el acceso SSH y el escritorio remoto. Es posible que algunos o todos ellos ya estén habilitados en su Raspberry Pi, pero lo comprobaremos de todos modos.
Primero, debes abrir la Terminal. Si tiene el Pi conectado a un televisor o monitor o a una sesión de escritorio remoto, abra el menú principal y luego navegue hasta Accesorios > Terminal. Si está utilizando el Pi a través de una conexión SSH, ya está allí.
Escriba este comando para actualizar sus repositorios de paquetes e instalar las actualizaciones disponibles, luego presione Enter/Return en el teclado para ejecutarlo:
sudo apt update && sudo apt upgrade
A continuación, ejecute este comando para instalar Python3, si aún no está instalado:
sudo apt install python3 -y
Luego, puede ejecutar este comando para verificar que Python funcione y verificar la versión exacta:
python3 –version
A continuación, configuremos el acceso remoto SSH y VNC con la herramienta raspi-config incorporada. Puede omitir este paso si sabe que ambas funciones ya están habilitadas o si ha configurado sus propias alternativas. Ejecute este comando para abrir la herramienta de configuración:
sudo raspi-config
Usando las teclas de flecha arriba y abajo, navegue hasta ‘Opciones de interfaz’ y luego selecciónela con la tecla Enter/Return.
Este es el menú con configuraciones para habilitar SSH y VNC. Seleccione la opción de menú SSH y siga las instrucciones para habilitarla, luego haga lo mismo para VNC.
Cuando haya terminado, regrese al menú principal (si no es enviado allí automáticamente), luego use las teclas de flecha izquierda y derecha para seleccionar el botón «Finalizar». La herramienta de configuración saldrá con los cambios guardados.
Finalmente, necesita saber su nombre de usuario en el Pi, así como la dirección IP del Pi en la red. Si no está seguro, ejecute este comando para enumerar todas las conexiones de red:
ifconfig -a
Su dirección IP aparecerá debajo del tipo de conexión, después de la etiqueta «inet», y probablemente comience con 192. Mi Raspberry Pi está conectada a través de su conexión Wi-Fi incorporada (llamada «wlan0») y la dirección IP es «192.168.50.157».
Puede utilizar este comando para ver el nombre de usuario actual:
whoami
Aunque no es necesario, es posible que también quieras configurar Samba/SMB para acceso remoto a archivos, de modo que puedas mover fácilmente archivos Python entre tu Raspberry Pi y otros dispositivos a través de una red. Mover archivos con unidades flash también funciona.
Programación con SSH
Si se siente cómodo con la interfaz del terminal, usar Python en una sesión SSH podría ser la mejor opción. Obtiene la latencia más baja posible con gráficos nítidos y puede utilizar cualquier cantidad de editores de texto basados en terminales mientras trabaja con archivos. Es una excelente opción para probar rápidamente fragmentos de código de Python, aunque la mayoría de las personas querrán una interfaz gráfica con finalización de código, depuración y otras funciones útiles.
Primero, necesita un cliente SSH en cualquier dispositivo que desee utilizar para la programación en Python. Ya hay uno integrado en Windows, macOS y Linux, así como en Chromebooks cuando habilitas el contenedor de Linux, pero esos dispositivos generalmente también pueden ejecutar Python de forma nativa. En iPhone y iPad, puedes probar Prompt 3 o Terminus. La aplicación Termux es una excelente opción para dispositivos Android.
Si está utilizando una aplicación de terminal con el comando SSH, simplemente ejecute este comando en la terminal, reemplazando «pi» con el nombre de cuenta de usuario de su Pi y el número con la dirección IP de su Pi:
ssh user@192.168.50.100
El cliente SSH le pedirá que acepte la clave de cifrado y luego deberá conectarse a su Pi.
En otras aplicaciones SSH, generalmente hay una interfaz para agregar una nueva conexión de host donde ingresa la misma información. Después de configurar la aplicación Terminus en mi iPad Air, puedo presionar el botón «Agregar host» e ingresar la dirección IP, la cuenta, la contraseña y el apodo de mi Pi. Después de conectarme, obtengo una interfaz de terminal estándar.
Si solo desea probar fragmentos de código de Python, puede ejecutar python3 en la terminal para abrir el intérprete. Puede ingresar líneas de código para ejecutar y usar el comando exit() cuando haya terminado.
Para proyectos más complejos, puede crear una carpeta para su proyecto y usar Nano u otro editor de texto para trabajar en archivos. Por ejemplo, esto crea una carpeta de proyecto en su directorio de inicio:
mkdir ~/project1
A continuación, cambie a esa carpeta:
cd ~/project1
A continuación, cree un nuevo archivo llamado app.py en el directorio con el editor de texto Nano (u otro editor si lo prefiere):
nano app.py
Esto abrirá el editor de texto Nano, donde podrá comenzar a escribir un programa. Cuando haya terminado, presione Ctrl y X juntos en el teclado (algunos clientes SSH tienen una tecla modificadora Ctrl en la interfaz), luego presione Y para guardar y finalmente Enter/Return para confirmar.
Para ejecutar el archivo que acaba de crear, ejecute esto en la terminal:
python3 app.py
Si comienza a trabajar en código más complejo, debe crear un entorno virtual Python en esa carpeta, para que sus bibliotecas instaladas permanezcan dentro de ese proyecto y no entren en conflicto con otro software Python o directorios de proyectos.
Programación con escritorio remoto
La otra opción para la programación remota con una Raspberry Pi es el escritorio remoto, que muestra el entorno de escritorio de su Pi a través de cualquier dispositivo con un cliente VNC instalado. Es como conectar el Pi directamente a un monitor o televisor, pero la pantalla se muestra en una ventana y hay cierta latencia adicional. Puede utilizar cualquiera de sus editores de código favoritos, y no sólo herramientas de línea de comandos.
Necesita un cliente VNC en el dispositivo que conectará al Pi. TigerVNC es una opción para Windows, Mac y Linux. RealVNC tiene versiones disponibles para iPhone, iPad y Android.
Después de instalar el cliente, deberá ingresar la dirección IP de su Pi y un apodo. Después de la conexión inicial, el cliente VNC le pedirá el nombre de usuario y la contraseña de su Pi. El escritorio Pi debería cargarse eventualmente.
En este entorno de escritorio, puede utilizar cualquier editor de texto gráfico o IDE que desee. Gearny es el editor integrado para Python en versiones recientes del sistema operativo Raspberry Pi.
Con SSH o VNC, puedes trabajar en proyectos de Python en dispositivos que no pueden ejecutar código Python directamente, como un iPad. Aún obtendrá una mejor experiencia trabajando directamente en Pi, pero esto es más práctico que algunos editores de programación basados en la nube o los IDE limitados diseñados para uso móvil.
