Python in Android – Python-scripts uitvoeren en ontwikkelen op Android

Marco den Teuling
0

Python draait bijna overal op, ook op een Android-smartphone. Je kunt zelfs best goed Python-scripts uitvoeren en ontwikkelen op Android. 

Met de (gratis) tools die we hier beschrijven start je zo kant-en-klare Python-scripts op je smartphone.

Lees hoe je Python in Android installeert en ook zelf Python code ontwikkelt op je Android smartphone, tablet of Chromebook.

Python in Android – vermijd ‘Python’ apps in de Play Store

Hoewel er ­diverse ­Python-apps in Googles appwinkel staan, is er geen ­enkele officiële app van de Python Software Founda­tion.

De meeste apps zijn doorspekt met in-app aankopen of reclame. Boven­dien bood geen enkele een actuele Python-versie.

geen goede Python apps in de Play Store

Gelukkig zijn er andere oplossingen voor Python in Android, zoals je hieronder leest.

Python in Android installeren – via het opensource Termux

Termux is in feite een terminal-emulator waarmee je commando’s kunt uitvoeren met de Linux-­basis van Android. Dat heeft enkele voordelen:

  • Termux levert ports mee van enkele standaard Linux-tools die in Android ontbreken, zoals bash, curl, grep, less en sed. Daardoor voelt het alsof je werkt met een gewone Linux-distributie zoals Debian.
  • Aangezien het niet gaat om een Linux-emulator die veel systeembronnen gebruikt, worden commando’s behoorlijk snel uitgevoerd en zonder virtualisatie.

Bovendien kun je via Termux veel andere softwarepakketten installeren die speciaal zijn geport – zoals de actuele Python 3-versie.

Termux draait op Android-toestellen vanaf versie 7, zonder aanpassingen zoals root-toegang.

Termux installeren – uit de F-Droid Store

We halen Termux uit de F-Droid-Store, omdat die store updates biedt en andere handige apps die we verderop noemen. Installeer de F-Droid app, zoek daarin naar Termux en installeer het.

De Termux-app in de Play Store is verouderd en wordt niet meer bijgehouden.

Python installeren in Android via Termux

Bij de eerste keer opstarten van Termux, verwelkomt bash je met enkele nuttige links en basis­instructies over het gebruik van de pakketbeheerder. Zo kun je zoeken naar Linux-pakketten met pkg search keyword en ze installeren met pkg install pakketname.

Om Python te installeren:

  1. Gaan we om te beginnen de voorgeïnstalleerde bootstrap-packages updaten met pkg ­upgrade.
    Als er nieuwere versies worden aange­boden, moet je akkoord gaan met het installeren daarvan met Y voor Yes.
  2. Daarna kun je ­Python installeren met pkg install ­python. Inclusief afhankelijkheden neemt het iets meer dan 400 MB in beslag.

Python installeren op Android - via Termux

Python op Android gebruiken

Als je Python hebt geïnstalleerd en in Termux python intypt, kom je in de Python-shell terecht. Met exit() of Ctrl+D kom je daar weer uit.

Je kunt nu direct Python-commando’s invoeren. Speciale  toetsen zoals CTRL en ALT vind je bij de meeste schermtoetsenborden in een balk bovenaan. Daar vind je dan ook Tab en de pijltjestoetsen, wat het gebruik van de shell veel makkelijker maakt:

  • met Tab voltooi je het commando dat je aan het typen bent
  • met de pijl-omhoog haal je het vorige commando terug.

Als je ooit meer dan één terminal­venster nodig hebt, kun je van de linkerrand van het scherm naar de rechter slepen om sessies te starten en te beëindigen.

Via de packagemanager pip kun je ­honderd­duizenden Python-modules installeren vanaf de Python ­Package Index (pypi.org). Pip zelf werk je bij met pip install –upgrade pip

Python-scripts bewaren op Android

Losse commando’s uitvoeren is aardig, maar hoe gebruik je nu scripts? Vanwege Androids beveiliging bewaar je die het handigste in een algemeen toegankelijke locatie zoals /storage/emulated/0. Verleen Termux eerst toegang tot die locatie:

  1. Gebruik in de shell het commando termux-setup-storage en bevestig je het toestemmingsvenster van Android.
  2. Ga naar de gewenste locatie met cd /storage/emulated/0.
  3. Maak daar een ­nieuwe map aan met mkdir python en je zult zien dat die zichtbaar is in de Android-bestandsbeheerder en ook toegankelijk is voor andere Android-apps.

Beschikbare scripts kun je naar die directory kopiëren en uitvoeren met python script.py. Overzetten kan bijvoorbeeld via usb maar als je het pakket git met pkg toevoegt, kun je elke Git-reposi­tory op je smartphone zetten met git clone.

Python-script gebruiken op Android

Je voert scripts uit met het commando python script.py. Helaas is er geen snelkoppeling vanuit de editor, dus je moet eerst overschakelen naar de Termux-app om je wijzigingen te testen.

Ontbrekende Python-modules kunnen worden toegevoegd via pip install pakketnaam.

Als er een configuratiebestand met vereiste modules (requirements.txt) bestaat voor het script, kun je dat aan pip doorgeven met pip -r requirements.txt en de modules automatisch laten installeren.

Python-scripts ontwikkelen op Android

In principe volstaat elke teksteditor om Python-scripts op je Android-smartphone te maken en bewerken. Maar met de juiste ontwikkeltool gaat Python programmeren makkelijker.

Voor Android is Acode een goede optie: die opensource-app is visueel vergelijkbaar met VS Code en wordt geleverd met de belangrijkste functies voor comfortabel programmeren, zoals syntax-highlighting, code-completion en automatisch opslaan.

Acode kun je installeren uit de appwinkel van F-Droid.

Pyhton programmeren op Android met Acode editor

Acode gebruiken

Wanneer je Acode voor de eerste keer start, moet je toegang verlenen tot het bestands­systeem. Je kunt daarna je scriptdirectory laden door op de knop linksboven te drukken (hamburgermenu met drie lijnen) en op ‘Open folder’ te tikken. Via het plusteken kun je dan de map selecteren en een naam ervoor opgeven. Voortaan kun je de inhoud van de map makkelijk benaderen via de knop linksboven.

Via de menuknop rechtsboven (drie puntjes) kun je onder meer nieuwe bestanden aanmaken en de instellingen (Settings) openen. Daar kun je bijvoorbeeld de lettergrootte instellen, evenals kleuren en taal (Neder­lands ontbreekt) van de interface.

Het potlood op de bovenste menubalk leidt naar de bestandseigenschappen. Nog meer functies vind je op de balk onderin het scherm: zo opent de knop … een commandline, waar je veel programmafuncties kunt oproepen met commando’s, vergelijkbaar met VS Code. Je vindt er ook een Tab-toets, ‘Ongedaan maken’, ‘Zoeken/Vervangen’ en ‘Opslaan’.

Andere handige ontwikkeltools voor Python in Android

Je kunt nu beginnen met Python programmeren op Android, maar het kan nog makkelijker:

  • Bij programmeren is een schermtoetsenbord zonder spellingcorrectie en met speciale toetsen handig, zoals Hacker’s Keyboard. Dat vind je via F-Droid of de ­Google Play Store.
  • Voor langere sessies raden we een fysiek (bluetooth/usb) toetsenbord aan. Je kunt dan ook gebruik­maken van sneltoetsen van Acode. Die zijn aanpasbaar via ‘Other Settings / Key bindings’.
  • De Termux-extensie ­Termux:Float start Termux in een vrij schaalbaar venster dat je naar wens over het scherm kunt verplaatsen. Dat blijft op de voorgrond en kan dus parallel met Acode gebruikt worden. Je minimaliseert het tot een bubbel met de knop in de linkerbovenhoek.
  • Met de extensie Termux:Widget kun je snelkoppelingen naar specifieke commando’s (zoals python script.py) als widget op het homescreen zetten.
  • Meer mogelijkheden krijg je met de automati­serings-app Tasker en Termux:Tasker.

Meer Termux-extensies vind je via de Wiki.

de extensie TermuxFloat is handig bij Python programmeren en uitvoeren op Android

Virtuele omgevingen en afwijkende architectuur

We ondervonden slechts sporadisch beperkingen, zoals bij virtuele omgevingen. Pythons venv-module gaf problemen, maar het modernere pipenv werkt feilloos.

Verder zijn sommige Python-modules platform-specifiek (zoals x86/64) en niet beschikbaar in de Python Package Index (PyPI) voor de ARM-architectuur die je Android-toestel waarschijnlijk heeft (linux_aarch64). In dergelijke (zeldzame) gevallen mislukt installeren via pip met ‘No matching distribution found’. Je kunt dan op internet zoeken naar een geschikt binair pakket of zelf proberen de broncode te compileren.

Grafische uitvoer

Termux ondersteunt ook toepassingen met grafische uitvoer via het X Window System (X11) maar dat vereist wat knutselen met bijvoorbeeld XServer XSDL. Als alternatief kun je tigervnc installeren met Termux en dat be­naderen met een VNC-client (zie Termux-wiki).

We konden zelfs de desktopomgeving Xfce instal­leren en gebruiken.

grafische uitvoer en Linux desktop op Android

Een grafische interface aan je Python-scripts toevoegen kan met de GUI-toolkit Tkinter. Die voeg je toe aan Termux met pkg install python-tkinter.

Python in Android – handig voor ontwikkelaars

Zoals je hierboven leest werkt Python in Android prima. Met Termux en een code-editor zoals Acode werkt het zelfs verbazingwekkend goed. Op een tabletscherm en met een toetsenbord(cover) is het nog prettiger programmeren.

Zo kun je altijd en overal nieuwe code-ideeën uitproberen, ook als je pc niet bij de hand is. Termux is daarbij alleen een middel, maar biedt nog andere mogelijkheden die Linux-fans snel zullen leren waarderen.

Meer over Python installeren en programmeren:

 

Lees meer over Python, Android en programmeren in c't 05/2024

Deel dit artikel

Marco den Teuling
Marco den TeulingHad als eerste eigen computer ooit een 16-bit systeem, waar van de 48 kilobyte toch echt niet ‘genoeg voor iedereen’ was. Sleutelt graag aan pc’s, van de hardware tot het uitpluizen van de BIOS-instellingen. Vindt ‘Software as a Service’ een onbedoeld ironische naamgeving.

Lees ook

Bestand verwijderen lukt niet? Zo wis je vergrendelde bestanden en mappen!

Windows wil soms niet een bepaald bestand verwijderen of weigert een map te wissen. Met de juiste aanpak lukt het toch. Lees meer over de tools, mogel...

Raspberry Pi als NAS-systeem gebruiken? Dit moet je weten!

Wist je dat je een Raspberry Pi als Network Attached Storage (NAS) kunt gebruiken? Zo voldoet de Raspberry Pi 4 aan de belangrijkste eisen om dit te k...

0 Praat mee
avatar
  Abonneer  
Laat het mij weten wanneer er