Problemen oplossen
Je code werkt niet en je weet niet waarom? Geen paniek: bijna elk probleem heeft een eenvoudige oplossing. Blader door de lijst hieronder en kijk of jouw foutmelding ertussen staat.
Pgzero of pygame kan niet geïnstalleerd worden
Je ziet een fout als No matching distribution found of Package not found bij het installeren van pgzero of pygame.
Oorzaak: Python 3.14 of hoger heeft nog geen kant-en-klare binaries voor pygame of pgzero. Thonny of je IDE gebruikt een te nieuwe Python-versie.
Ubuntu 26.04 heeft Python 3.14 als standaard en biedt Python 3.13 niet via apt. Het één-klik installatiescript lost dit automatisch op:
- Python 3.13 wordt geïnstalleerd via de deadsnakes PPA (
ppa:deadsnakes/ppa) - Thonny wordt gedetecteerd via PATH, snap, pip of flatpak
- Als Thonny als snap geïnstalleerd is, wordt de configuratie naar de juiste map geschreven (
~/snap/thonny/current/.config/Thonny/) - Lukt
apt install thonnyniet, dan probeert het scriptpip install --user thonny
Oplossing: Installeer Python 3.13 (of 3.12) en stel die in als actieve interpreter:
- Thonny: zie Thonny + Pgzero Installeren → Python-versie controleren.
- VS Code: maak je omgeving opnieuw aan met
uv venv --python 3.12. - PyCharm: maak een nieuwe interpreter aan en selecteer Python 3.12 bij Base interpreter.
pgzrun: command not found
Dit betekent dat Pgzero niet geïnstalleerd is, of dat je een verkeerde Python-versie gebruikt.
Oplossing: Open Thonny, ga naar Tools → Manage Packages, zoek naar pgzero en klik op Install. Herstart Thonny daarna en probeer opnieuw.
ModuleNotFoundError: No module named 'pygame'
Python kan de pygame-bibliotheek niet vinden. Dit komt bijna altijd doordat Thonny de verkeerde Python-interpreter gebruikt.
Oplossing: Kijk rechtsonder in de statusbalk van Thonny welke interpreter actief is. Kies dezelfde interpreter die je bij de installatie hebt gebruikt. Installeer pygame dan opnieuw via Tools → Manage Packages.
Venster opent en sluit meteen
Het programmavenster flitst even op en verdwijnt dan weer.
- Pgzero: Je hebt
WIDTHenHEIGHTnodig als losse variabelen bovenaan je bestand, buiten elke functie. Zonder die variabelen weet Pgzero niet hoe groot het venster moet zijn en stopt het direct. - Pygame: Je hebt een event-loop nodig die elke frame
pygame.event.get()aanroept. Zonder die aanroep bevriest het venster en sluit het besturingssysteem het.
Geluiden doen niets
Je roept sounds.jump.play() aan maar er is niets te horen.
Controleer het volgende:
- Staat er een map
sounds/naast jemain.py? De map moet op exact dezelfde plek staan. - Staan de bestandsnamen in kleine letters en gebruik je underscores in plaats van spaties? Bijvoorbeeld
jump.wav, nietJump.wavofjump sound.wav. - Pgzero accepteert alleen
.wav-bestanden in desounds/-map. Pgzero laadt ze automatisch, dus je hoeft zelf niets te importeren.
Geluid werkt niet in pygame (sessie 5 en later)
Je gebruikt pygame.mixer.Sound(...) maar er is niets te horen, geen foutmelding; het spel start gewoon zonder geluid.
Oorzaak: Python zoekt het geluidsbestand relatief aan de map waar je het script vanuit start, niet aan de map waar main.py staat. Open je VS Code vanuit de projectroot en staat je script in een submap, dan zoekt Python sounds/hit.wav in de projectroot en vindt het niet. De try/except in de starter vangt die fout stil op.
Oplossing: Gebruik __file__ om het pad absoluut te maken:
import os
_DIR = os.path.dirname(os.path.abspath(__file__))
snd_hit = pygame.mixer.Sound(os.path.join(_DIR, 'sounds/hit.wav'))__file__ is altijd het pad naar main.py zelf, ongeacht vanwaar je het script start. De starter-bestanden vanaf sessie 5 doen dit al. Voeg de twee regels toe net boven het laden van geluiden als je eigen game dit nog niet heeft.
Afbeeldingen worden niet weergegeven
Je actor of achtergrond is niet zichtbaar.
Controleer het volgende:
- Staat er een map
images/naast jemain.py? - Zijn alle bestandsnamen in kleine letters?
player.pngwerkt;Player.pngniet. - Gebruik bij voorkeur
.png-bestanden, want die werken het betrouwbaarst met Pgzero.
KeyError bij een afbeelding
Je krijgt een KeyError wanneer je een Actor aanmaakt of een afbeelding laadt.
Oorzaak: De naam die je meegeeft moet exact overeenkomen met de bestandsnaam, zonder extensie. Actor('basket') zoekt naar images/basket.png. Een typfout of een hoofdletter te veel is genoeg om de fout te veroorzaken.
Oplossing: Controleer de bestandsnaam in de images/-map en zorg dat die exact overeenkomt met wat je in de code hebt geschreven.
Chromebook of geen installatierechten
Je kunt Thonny of Pgzero niet installeren omdat je geen beheerdersrechten hebt op de computer.
Oplossing: Werk samen met iemand die Thonny wél heeft staan, want pair-programming is sowieso een goed idee! Thuis kun je verder via de pygbag-versie: die draait je Pygame-project rechtstreeks in de browser, zonder installatie.
Antivirus blokkeert de installatie
Je installatiepoging wordt onderbroken of geblokkeerd door antivirussoftware.
Oplossing: Schakel de antivirussoftware tijdelijk uit tijdens de installatie, of vraag een coach om een portable versie van Thonny op een USB-stick te zetten. Die versie heeft geen installatie nodig en werkt zo van de stick.
Nog steeds vast?
Geen probleem. Vraag gewoon een coach tijdens de sessie, of post je vraag in de CoderDojo-chat. Geef daarbij de exacte foutmelding mee (kopieer en plak de tekst uit Thonny), dan kunnen we je sneller helpen.