Geïsoleerde omgevingen en pakketten · eindproject
Eindproject: Eindproject: maak de omgeving herhaalbaar
Je huidige shell kent de route al. Een herhaalbaar project laat de route achter voor de volgende persoon, die misschien een ander besturingssysteem gebruikt en zeker jouw .venv niet heeft.
Het eindresultaat is bewust klein:
requirements.txtlegt de ene exacte rechtstreekse afhankelijkheid vast;check_package.pyimporteert requests en toont de versie;ENVIRONMENT.mdlegt uit hoe je op macOS/Linux en Windows de omgeving maakt, activeert, installeert en controleert.
De omgeving zelf hoort niet bij de overdracht. Verdween .venv tussen lessen, dan is dat nuttig bewijs: de blijvende bestanden zijn het project.
Schrijf de gids voor het opnieuw opbouwen
Open ENVIRONMENT.md met nano. Schrijf in je eigen woorden een korte gids, maar zorg dat die beide onderstaande routes bevat.
Voor macOS en Linux heeft een andere cursist deze opdrachten nodig:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
python check_package.py
Voor Windows PowerShell zijn deze nodig:
py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
python check_package.py
Je mag het uv-alternatief na de standaardroute toevoegen. Vervang de standaardroute er niet door. Iemand die Python heeft maar geen uv moet het project nog steeds kunnen herstellen.
Bewijs de overdracht voor jezelf
Ontbreekt .venv, volg dan een van je eigen routes in de siteterminal. De site gebruikt voor het maken python in plaats van python3:
python -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
python check_package.py
Je zou 2.34.2 moeten zien. Je hebt zojuist opnieuw opgebouwd vanuit je eigen geschreven instructies. Dat is het hele punt van het hoofdstuk: de omgeving was vervangbaar, het recept niet.
Druk op Check my work wanneer beide bestanden klaar zijn.
Ontbreekt er een stap in je gids, dan ontdek je dat het snelst door die te lezen alsof je dit project nog nooit hebt gezien. Vraag Monty je ENVIRONMENT.md als nieuwe lezer te volgen en de eerste plek te noemen die iets aanneemt wat je nooit hebt opgeschreven.
Waarom moet ENVIRONMENT.md de standaardroute met venv en pip behouden, ook als je het uv-alternatief toevoegt?