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 thonny niet, dan probeert het script pip install --user thonny

Oplossing: Installeer Python 3.13 (of 3.12) en stel die in als actieve interpreter:

  • Thonny: zie Thonny + Pgzero InstallerenPython-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 WIDTH en HEIGHT nodig 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:

  1. Staat er een map sounds/ naast je main.py? De map moet op exact dezelfde plek staan.
  2. Staan de bestandsnamen in kleine letters en gebruik je underscores in plaats van spaties? Bijvoorbeeld jump.wav, niet Jump.wav of jump sound.wav.
  3. Pgzero accepteert alleen .wav-bestanden in de sounds/-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:

  1. Staat er een map images/ naast je main.py?
  2. Zijn alle bestandsnamen in kleine letters? player.png werkt; Player.png niet.
  3. 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.