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 Foundation.
De meeste apps zijn doorspekt met in-app aankopen of reclame. Bovendien bood geen enkele een actuele Python-versie.
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 basisinstructies 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:
- Gaan we om te beginnen de voorgeïnstalleerde bootstrap-packages updaten met pkg upgrade.
Als er nieuwere versies worden aangeboden, moet je akkoord gaan met het installeren daarvan met Y voor Yes. - Daarna kun je Python installeren met pkg install python. Inclusief afhankelijkheden neemt het iets meer dan 400 MB in beslag.
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 terminalvenster 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 honderdduizenden 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:
- Gebruik in de shell het commando termux-setup-storage en bevestig je het toestemmingsvenster van Android.
- Ga naar de gewenste locatie met cd /storage/emulated/0.
- 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-repository 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.
Acode gebruiken
Wanneer je Acode voor de eerste keer start, moet je toegang verlenen tot het bestandssysteem. 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 (Nederlands 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 gebruikmaken 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 automatiserings-app Tasker en Termux:Tasker.
Meer Termux-extensies vind je via de Wiki.
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 benaderen met een VNC-client (zie Termux-wiki).
We konden zelfs de desktopomgeving Xfce installeren en gebruiken.
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:
- Python installeren (in Windows) – snel en makkelijk
- Python installeren op Linux
- Programmeren met Python – kies software voor Python programmeren