0%

Geïsoleerde omgevingen en pakketten

Installeer een pakket met pip

Een lege omgeving is geïsoleerd, maar nog niet nuttig. Zet er één pakket in. Ontbreekt .venv doordat de site het hoofdstuk tussen bezoeken heeft opgeslagen en hersteld, maak de omgeving dan eerst opnieuw. Dat is verwacht gedrag: de omgeving is afgeleid, terwijl de kleine projectbestanden behouden blijven.

Activeer .venv opnieuw als je prompt niet met (.venv) begint en voer dit daarna uit in de siteterminal:

source .venv/bin/activate
python -m pip install requests==2.34.2

Deze keer heeft de terminal meer te vertellen. Die noemt requests, downloadt de exacte versie die je vroeg, zoekt de ondersteunende pakketten waarvan requests afhankelijk is en installeert die binnen de actieve omgeving.

pip is het installatieprogramma voor Python-pakketten. We roepen het aan als python -m pip in plaats van alleen een opdracht pip te gebruiken. Dat maakt de koppeling expliciet: gebruik de installer die bij deze python hoort. Wanneer er meerdere Python-installaties bestaan, voorkomt die kleine gewoonte veel verwarring.

Lees het verzoek nauwkeurig

De tekst requests==2.34.2 bevat een pakketnaam en een exact vastgezette versie. Het dubbele gelijkteken betekent “installeer deze versie”, niet alleen “installeer iets dat recent genoeg is”. Exact vastgezette versies maken de oefening herhaalbaar. Iedereen in deze cursus krijgt het pakketgedrag waarvoor de les is geschreven.

Vraag pip wat het heeft geïnstalleerd:

python -m pip show requests

Zoek deze twee regels in het resultaat:

Name: requests
Version: 2.34.2

Laat Python het gebruiken

Installeruitvoer is niet de eindstreep. Een pakket is nuttig wanneer Python het kan importeren. Open een klein bestand met nano check_package.py en voer deze twee regels in:

import requests

print(requests.__version__)

Sla op, verlaat nano en voer daarna het bestand uit:

python check_package.py

Het moet 2.34.2 tonen. import requests maakt het geïnstalleerde pakket beschikbaar voor dit programma en requests.__version__ meldt de uitgave die werkelijk is geladen. We doen nog geen HTTP-verzoek. Dat komt veel later, wanneer fouten en time-outs een plek hebben om goed te worden uitgelegd.

Dezelfde opdracht, een andere plank

Op de Python Land-site gebruikt pip een kleine eigen pakketindex binnen de sandbox. Die bevat een beoordeelde verzameling vastgezette versies voor deze cursus: requests==2.34.2, pytest==9.1.1 en uv==0.12.3, plus de exacte ondersteunende pakketten die ze nodig hebben. Code van cursisten kan niet uitwijken naar het openbare internet.

Op je eigen computer gebruikt gewone pip de openbare Python Package Index, PyPI. De opdracht hieronder is nog steeds echte pip en de exacte versieaanduiding kiest nog steeds dezelfde uitgave. Alleen de ingestelde plank verschilt. Maak dezelfde check_package.py van twee regels in je lokale oefenmap voordat je de laatste opdracht uitvoert.

source .venv/bin/activate
python -m pip install requests==2.34.2
python -m pip show requests
python check_package.py

Waarom gebruikt deze cursus python -m pip?

Je kent nu de route die slaagt. De foutmelding is net zo belangrijk: die vertelt of je een naam moet verbeteren of op een dienst moet wachten.