0%

Je eigen computer, je eigen editor · oefening

Breng één lokaal resultaat terug

Je hebt de privacygrens al gezien. Lees die nogmaals, direct vóór de controleopdracht:

pl_check.py draait op deze computer. Het script zelf doet geen netwerkverzoeken en uploadt nooit iets. Het voert alleen de genoemde controles uit; een opgegeven pakket importeren voert de importcode van dat geselecteerde pakket uit. Het token bevat de hoofdstuk- en planversies, de exacte Python-versie, omgevingsfeiten in de vorm van geslaagd/niet geslaagd, de opgegeven relatieve bestandsnamen en hashes van bestandsinhoud. Het bevat nooit absolute paden, gebruikersnamen, omgevingsvariabelen of bestandsinhoud. Als je het token plakt en indient, ontvangt Python Land het en kan het als leswerk worden opgeslagen.

Voor hoofdstuk 4, plan 2, zijn dit de genoemde controles:

  1. Python 3.10 of nieuwer voerde het controleprogramma uit.

  2. Die Python draaide binnen een virtuele omgeving.

  3. Die Python kon requests importeren.

  4. hello.py kwam exact overeen met het beoordeelde programma van één regel.

  5. requirements.txt bevatte exact requests==2.34.2.

Het controleprogramma leest alleen die twee opgegeven relatieve bestanden, met een limiet van 64 KiB. Het leest geen shellgeschiedenis of editorinstellingen.

Voer uit met de geselecteerde interpreter

Gebruik eerst de route zonder activeren. Die is het minst dubbelzinnig:

./.venv/bin/python ./pl_check.py chapter-4

Als .venv actief is, is python ./pl_check.py chapter-4 gelijkwaardig.

Het script toont eerst de privacytekst en daarna één statusregel per controle. Kopieer de volledige laatste regel die begint met PL_CHECK_TOKEN=.

Vervang in de editor naast deze les alleen de tijdelijke tekst tussen de driedubbele aanhalingstekens. Laat USE_SITE_ONLY_PATH = False staan en druk daarna op Submit.

Een geslaagd resultaat betekent alleen dat de geselecteerde lokale Python het controleprogramma heeft uitgevoerd en die vijf opgegeven feiten heeft gemeld. Python Land heeft je computer niet rechtstreeks onderzocht. Het token bewijst niet dat je op een editorinstelling klikte of hello.py uitvoerde. Die stappen heb je zelf waargenomen.

Als een controle mislukt

Lees de eerste regel met not met en volg de bijbehorende vervolgstap. Veelvoorkomende herstelstappen zijn:

  • voer het controleprogramma uit vanuit de hoofdmap van het uitgepakte project, naast de drie geschreven bestanden;

  • gebruik het expliciete interpreterpad van .venv in plaats van een globale Python;

  • installeer het recept opnieuw met -m pip van die interpreter;

  • herstel hello.py of requirements.txt uit de ZIP als de exacte inhoud is veranderd.

Voer na de reparatie het controleprogramma opnieuw uit en plak de nieuwe volledige regel. Maak van een mislukt token geen terugvalroute. Mislukte of verkeerd gevormde tokens blijven mislukte inzendingen.

De uitdrukkelijke route om alleen op de site te werken

Gebruik de route om alleen op de site te werken wanneer Python niet geïnstalleerd of uitgevoerd kan worden, de computer wordt beheerd, downloaden of uitpakken wordt geblokkeerd, of een behoefte rond toegankelijkheid of ondersteuning de lokale route onpraktisch maakt.

Stel in de editor exact dit in:

USE_SITE_ONLY_PATH = True

Druk daarna op Submit. De vastgelegde uitkomst zegt in het Engels:

Site-only path selected: completion is recorded, but no local machine was verified. Dit betekent: de route op de site is gekozen en voltooiing is vastgelegd, maar er is geen lokale computer geverifieerd.

Dit is een route om verder te gaan, geen lokale verificatie. Je kunt later terugkomen, de waarde terugzetten op False en een actueel, geslaagd token indienen.

Wat betekent een geslaagd token precies?

Een controle meldt not met. Wat is de juiste volgende stap?

Opdracht

Plak de volledige regel PL_CHECK_TOKEN=... tussen de driedubbele aanhalingstekens en laat USE_SITE_ONLY_PATH = False staan.

Is de beschreven lokale route op deze computer niet praktisch, stel dan bewust USE_SITE_ONLY_PATH = True in. Dat legt de uitkomst voor alleen de site vast en beweert niet dat er een lokale computer is geverifieerd.