ID.nl logo
Zo kun je programmeren in Python - Deel 9
© Reshift Digital
Huis

Zo kun je programmeren in Python - Deel 9

Je kunt nu al goed overweg met allerlei aspecten van Python, maar naast de standaardbibliotheek van Python bestaan er nog heel wat extra modules. In deze les leer je hoe je deze installeert en hoe je met virtuele omgevingen werkt om met conflicterende vereisten van modules om te gaan.

Basisfunctionaliteit die bijna iedereen nodig heeft, zit in de standaardbibliotheek van Python. In les 6 zag je al hoe je toegang tot deze functionaliteit krijgt met de opdracht import en toonden we je kort enkele standaardmodules. Maar in die les schreef je ook je eigen module. Deze les gaat volledig over het installeren van extra modules die anderen geschreven hebben.

Pakketten vinden op PyPI

Iedereen kan zelf een Python-module maken, zoals je in les 6 zelf ook hebt gedaan. Python biedt een centrale repository aan met modules die je eenvoudig kunt installeren en in je eigen Python-programma’s kunt gebruiken: de Python Package Index of afgekort PyPI. Je vindt ze op de website www.pypi.org.

PyPI bevat meer dan 170.000 projecten, die pakketten worden genoemd. Een pakket bevat één of meerdere Python-modules. Je zoekt op de website van PyPI op trefwoorden om pakketten te vinden die je in je code kunt gebruiken. Maar het kan nog eenvoudiger op de opdrachtregel van je besturingssysteem met het programma pip3, dat deel uitmaakt van Python. Zo zoek je met de volgende opdracht naar pakketten:

pip3 search <zoekterm>

Je krijgt dan een lijst te zien met pakketnamen en een korte beschrijving van één regel waarin je zoekterm voorkomt. Wil je meer informatie over het pakket lezen, dan zul je de pagina voor het pakket op de website van PyPI moeten raadplegen, waar een uitgebreidere beschrijving staat, inclusief een link naar de website van het pakket.

Een pakket installeren met pip3

Heb je eenmaal een pakket gevonden dat je wilt gebruiken, dan installeer je het ook eenvoudig met pip3:

pip3 install urllib3

Na de installatie van een pakket kun je meer informatie over het pakket opvragen met:

pip3 show urllib3

Naast de korte beschrijving en het versienummer van het geïnstalleerde pakket, krijg je ook de website en de licentie te zien.

Geïnstalleerde module in je Python-code gebruiken

Nadat je een pakket geïnstalleerd hebt met pip3, kun je de modules erin gebruiken, net zoals de standaardmodules van Python. Voor het voorbeeld van urllib3:

>>> import urllib3

>>> http = urllib3.PoolManager()

>>> r = http.request('GET', 'http://reshift.nl/robots.txt')

>>> r.status

200

>>> r.data

b'User-agent: *\nDisallow: /wp-admin/\nAllow: /wp-admin/admin-ajax.php\n'

Na de installatie van een pakket maakt het dus niet meer uit of de module in de standaardbibliotheek zit of niet. Voordat je een module in je eigen code gebruikt, dien je wel na te kijken wat de licentie van het project je toelaat. Maar omdat de meeste Python-pakketten een opensource-licentie gebruiken, zal het gebruik niet snel problematisch zijn.

Het nut van virtuele omgevingen

Als je veel Python-pakketten installeert met pip3, kom je wellicht een keer in de problemen. Pakketten importeren immers ook andere pakketten die ze gebruiken, die noemen we ‘afhankelijkheden’. Maar misschien installeert pakket A versie 1.0 van pakket Z en installeert pakket B de met versie 1.0 incompatibele versie 2.0 van pakket Z. Het gevolg? Na de installatie van pakket B werkt pakket A niet meer, want je kunt maar één versie van een Python-pakket installeren.

Gelukkig heeft Python voor deze problemen een oplossing: virtuele omgevingen. Een virtuele omgeving is een directory op je computer waarin je Python-pakketten installeert in de plaats van in je globale Python-pakketdirectory. Deze virtuele omgeving is volledig gescheiden van andere virtuele omgevingen en van de globale Python-pakketdirectory. Als je dan voor elk Python-project dat je wilt installeren of ontwikkelen een nieuwe virtuele omgeving aanmaakt, ben je zeker dat je door de installatie van de pakketten die je nodig hebt geen van je andere projecten doet falen.

Virtuele omgeving opzetten met venv

Een virtuele omgeving opzetten, doe je in Python met de module venv:

python3 -m venv C:\pad\naar\mijnomgeving

Dit maakt de opgegeven directory (en eventuele bovenliggende directory’s die nog niet bestaan) en maakt verwijzingen naar de Python-interpreter en een lege directory voor pakketten.

Om nu de virtuele omgeving te gebruiken, moet je ze eerst ‘activeren’. Dat doe je als volgt:

C:\pad\naar\mijnomgeving\Scripts\activate.bat

Als je nu met pip3 pakketten installeert, worden ze in de virtuele omgeving geïnstalleerd en niet in je globale Python-pakketbibliotheek. De virtuele omgeving verlaten doe je met de opdracht deactivate. Je werkt dan weer in je globale Python-omgeving. Je kunt nu een andere virtuele omgeving opzetten of een virtuele omgeving die je al hebt aangemaakt activeren. Zo schakel je eenvoudig tussen verschillende projecten over zonder dat de installatie van Python-pakketten in de ene omgeving een impact heeft op een andere omgeving.

Virtuele omgeving in macOS en Linux

De Python-module venv werkt net iets anders in andere besturingssystemen. De directory Scripts heet in macOS en Linux bin, en Lib (met hoofdletter L) heet lib (helemaal in kleine letters). Bovendien activeer je de virtuele omgeving niet met een batchbestand zoals in Windows, maar met een shellscript, dat geen extensie .bat heeft, en dat activeren doe je met de opdracht source. De virtuele omgeving van een omgeving activeren doe je onder macOS en Linux dus met de opdracht: source mijnomgeving/bin/activate.

Afhankelijkheden opslaan en opnieuw installeren

Als je project veel afhankelijkheden gebruikt en je die allemaal in een virtuele omgeving hebt geïnstalleerd met pip3, wil je natuurlijk dat iemand anders die je code draait zo eenvoudig mogelijk al die pakketten kan installeren. Gelukkig kun je eenvoudig een lijst aanmaken met alle in de virtuele omgeving geïnstalleerde pakketten en hun versies:

pip3 freeze > requirements.txt

Het bestand requirements.txt bevat dan voor elk geïnstalleerd pakket in de virtuele omgeving een regel:

pakketnaam==versienummer

Daarna kan de andere gebruiker op zijn computer een virtuele omgeving aanmaken en je Python-code daarin kopiëren. Die code zal nog niet werken, want de afhankelijkheden zijn nog niet geïnstalleerd. Maar als je het bestand requirements.txt samen met je code verspreidt, hoeft de gebruiker maar één opdracht uit te voeren in de virtuele omgeving om alle afhankelijkheden te installeren:

pip3 install -r requirements.txt

Daarna ben je zeker dat jouw code ook op de andere computers werkt, tenminste als ook jullie Python-versies hetzelfde zijn. De afhankelijkheden zijn immers hetzelfde en van dezelfde versies.

Als je de versienummers van je afhankelijkheden niet wilt vastleggen, kun je deze in het bestand requirements.txt weglaten, samen met de aanduiding ==. Je vermeldt dan alleen de pakketnamen. Deze opdracht installeert dan de nieuwste versie van de opgegeven pakketten:

pip3 install -r requirements.txt

Samenvatting

In deze les heb je geleerd hoe je extra pakketten opzoekt in de Python Package Index en hoe je ze installeert met pip3. Je leerde ook met virtuele omgevingen werken en de afhankelijkheden van je projecten opslaan, zodat je ze later eenvoudig weer kunt installeren in een nieuwe virtuele omgeving. Hiermee komen we bijna aan het einde van onze lessenreeks voor beginners. In de laatste les gaan we een volledig Python-script ontwikkelen dat je op de opdrachtregel kunt uitvoeren.

Opdracht

Installeer de module arrow in je globale Python-omgeving en controleer of je ze kunt importeren. Maak dan een nieuwe virtuele omgeving en verifieer dat de module arrow daar niet beschikbaar is. Installeer daarna ook arrow in je virtuele omgeving, zodat je de module daar kunt importeren.

Uitwerking

pip3 install arrow python3 -c 'import arrow' Na de installatie van arrow met pip3 kun je de Python-interpreter opstarten en daar import arrow intypen, maar met de optie -c kun je ook rechtstreeks Python-opdrachten als argumenten aan de Python-interpreter doorgeven, wat hier handig is om snel te controleren of we de module arrow kunnen importeren. Maak daarna een nieuwe virtuele omgeving en activeer ze: python3 -m venv C:\pad\naar\mijnomgeving C:\pad\naar\mijnomgeving\Scripts\activate.bat Als we nu de module arrow willen importeren met deze opdracht: python3 -c 'import arrow' Dan krijgen we een foutmelding: Traceback (most recent call last): *File "

Cheatsheet

Afhankelijkheden: de pakketten die een stukje Python-software nodig heeft voor zijn werking. Bibliotheek: een verzameling code die bedoeld is om door andere programma’s gebruikt te worden. Pakket: een verzameling van een of meerdere Python-modules. Repository: een online opslagplaats met pakketten. Softwarelicentie: een vergunning om een computerprogramma te gebruiken, vaak onder specifieke voorwaarden. Standaardbibliotheek: alle modules die bij een standaardinstallatie van Python beschikbaar zijn. Virtuele omgeving: een directory met een afgescheiden installatie van Python en Python-modules.

▼ Volgende artikel
Waar voor je geld: 5 mini-pc's als desktop- of laptopvervanger
© ID.nl
Huis

Waar voor je geld: 5 mini-pc's als desktop- of laptopvervanger

In de rubriek Waar voor je geld gaan we op zoek naar producten voor een mooie prijs die je leven makkelijk(er) maken. Werk je vaak thuis, maar is je werkplek niet al te groot? Dan kun je overwegen om een klein formaat pc aan te schaffen. Een mini-pc voldoet aan die behoefte, het enige dat nodig is, is een aparte monitor.

Een mini-pc kan een goede oplossing zijn voor thuiswerkplekken die niet al te groot zijn, of waar je simpelweg gewoon een opgeruimder bureau wil hebben. Mini-pc's zijn compact, maar snel en veelzijdig genoeg om er je gewone werk op te doen of om op te gamen. Wij vonden vijf krachtige mini-pc's voor je.

Acer Revo Box RB102-01W Mini

De Acer Revo Box RB102-01W Mini is een compacte computer die zijn rekenkracht ontleent aan een Intel Core Ultra 5 125U processor. Deze processor is ontworpen om een balans te bieden tussen prestaties en energie-efficiëntie. Voor het uitvoeren van je dagelijkse taken en het wisselen tussen verschillende applicaties beschikt het systeem over 8 GB aan DDR5 werkgeheugen. De opslag van je bestanden, software en het besturingssysteem wordt verzorgd door een 512 GB SSD, wat bijdraagt aan snelle opstart- en laadtijden. Qua connectiviteit kun je gebruikmaken van een reeks poorten. Zo zijn er meerdere USB-aansluitingen beschikbaar voor je randapparatuur. Voor het aansluiten van beeldschermen is de mini-pc uitgerust met zowel een HDMI- als een DisplayPort-uitgang. Om verbinding te maken met een netwerk, is er een 2.5 Gigabit Ethernetpoort aanwezig. Het systeem wordt geleverd met Windows 11 voorgeïnstalleerd.

Specificaties

Formaat: 13,1 x 13,1 x 4,3 cm
Processor:
Intel Core Ultra 5 125U
Werkgeheugen:
8 GB DDR5
Harde schijf:
512 GB SSD
Netwerk:
Wifi 6E, Bluetooth, 2.5 Gigabit LAN

MSI Cubi 5 12M-002EU

De MSI Cubi 5 12M-002EU is een rappe mini-pc van slechts 12,4 × 12,4 × 5,4 centimeter. Via de bijgesloten VESA-beugel monteer je de behuizing optioneel achterop een pc-monitor. Ondanks het nogal kleine formaat betreft het een volwaardige pc waarop je één of twee schermen kunt aansluiten. Gebruik hiervoor de HDMI- en/of DisplayPort-aansluiting aan de achterzijde. Verder zien we hier twee netwerk- en usb-poorten. Via drie usb-ingangen aan de voorzijde sluit je makkelijk randapparaten aan. Voor draadloze communicatie heeft de binnenzijde een bluetooth- en wifi-adapter.

In het kleine 'doosje' zit een ssd van 512 GB. Hierop is Windows 11 Pro voorgeïnstalleerd. Om die reden leent de Cubi 5 12M-002EU zich goed voor zakelijke gebruikers, want deze Windows-editie beschikt over extra veiligheidsfuncties. De Intel Core i5-1235U-processor voldoet voor dagelijkse pc-taken prima. Deze processor heeft tien rekenkernen waarvan de snelste twee zijn afgeregeld op een maximale klokfrequentie van 4,4 GHz. Tot slot is er een geheugenmodule van 8 GB RAM ingebouwd. Blijkt dat op den duur onvoldoende, dan kun je eventueel upgraden naar maximaal 64 GB RAM. Deze mini-pc is als alternatief ook met meer rekenpower verkrijgbaar.

Specificaties

Formaat: 12,4 x 12,4 x 5,4 cm
Processor:
Intel Core i5-1235U
Werkgeheugen:
8 GB DDR4
Harde schijf:
512 GB SSD
Netwerk:
Wifi 6E, Bluetooth 5.3, 1x Gigabit LAN, 1x 2.5 Gigabit LAN

Lenovo ThinkCentre M70q Gen 5 Mini PC 

De Lenovo ThinkCentre M70q Gen 5 is een compacte computer die zijn prestaties haalt uit een Intel Core i5-14400T processor. Voor het uitvoeren van je taken en het draaien van software is het systeem voorzien van 16 GB aan DDR5 werkgeheugen. Dit type geheugen heeft een hogere snelheid dan zijn voorganger, DDR4. Als het gaat om de opslag van je bestanden en programma's, dan maak je gebruik van een 512 GB SSD. De aanwezigheid van een SSD is van invloed op de opstarttijd van de computer en de laadsnelheid van je applicaties. Verbindingen met het internet en je lokale netwerk leg je via de ingebouwde Wi-Fi 6 (802.11ax) module of de aanwezige ethernetpoort. Voor het koppelen van randapparatuur zoals een monitor, muis of extern opslagapparaat, beschikt de mini-pc over een variatie aan poorten, waaronder HDMI, DisplayPort en meerdere USB-aansluitingen. Het besturingssysteem dat vooraf geïnstalleerd is, is Windows 11 Pro.

Specificaties

Formaat: 17,9 x 18,3 x 3,7 cm
Processor:
Intel Core i5-14400T
Werkgeheugen:
16 GB DDR5
Harde schijf:
512 GB SSD
Netwerk:
Wifi 6E, Bluetooth 5.3, Gigabit LAN

DELL OptiPlex 3000 Thin Client - N6005

De DELL OptiPlex 3000 in deze Thin Client-uitvoering is een systeem dat is ontworpen voor specifieke computertaken. Het apparaat draait op een Intel Pentium Silver N6005 processor, een chip die de basis vormt voor de functionaliteit. Voor het werkgeheugen is er 16 GB RAM aanwezig, wat van invloed is op de prestaties bij het gebruiken van meerdere programma's. De opslag bestaat uit een SSD met een capaciteit van 256 GB, waarop het besturingssysteem en je applicaties worden geïnstalleerd. Dit model is uitgerust met Dell ThinOS, een specifiek besturingssysteem dat is gericht op het werken met virtuele desktopomgevingen. Voor het aansluiten van je apparatuur beschikt de computer over diverse poorten. Je vindt er onder andere USB 3.2-poorten, een netwerkaansluiting en twee DisplayPort-uitgangen voor het koppelen van beeldschermen. De compacte behuizing maakt het mogelijk om het systeem op verschillende manieren te plaatsen

Specificaties

Formaat: 18,2 x 17,8 x 3,6 cm
Processor:
Intel Pentium Silver N6005
Werkgeheugen:
16 GB DDR4
Harde schijf:
256 GB SSD
Netwerk:
Gigabit LAN

Blackview MP100 Mini PC

Binnen de compacte behuizing van de Blackview MP100 vind je een AMD Ryzen 7 5825U processor, een chip met 8 kernen die de taken van het systeem verwerkt met een maximale turbofrequentie van 4.5 GHz. Voor het gelijktijdig gebruiken van verschillende programma's is het systeem, afhankelijk van de uitvoering, voorzien van 16 GB of 32 GB DDR4 werkgeheugen. Mocht je in de toekomst meer geheugen nodig hebben, dan is dit uit te breiden tot een maximum van 64 GB. De opslag van je bestanden en software wordt verzorgd door een M.2 SSD, met een capaciteit van 512 GB of 1 TB. Qua verbindingen heb je de beschikking over Wi-Fi 6 en Bluetooth 5.2 voor draadloze connectiviteit. Fysieke aansluitingen zijn er ook volop: het apparaat heeft onder andere USB 3.2-poorten, twee Type-C poorten, een HDMI-aansluiting en een DisplayPort. Hiermee kun je tot drie 4K-beeldschermen tegelijk aansturen. Het vooraf geïnstalleerde besturingssysteem op dit model is Windows 11 Pro.

Specificaties

Formaat: 12,8 x 12,8 x 5,2 cm
Processor: AMD Ryzen 7 5825U
Werkgeheugen:
16 GB of 32 GB DDR4
Harde schijf:
512 GB of 1 TB SSD
Netwerk:
Wifi 6, Bluetooth 5.2, Gigabit LAN

▼ Volgende artikel
Acer lanceert Swift Air 16: ultralichte Copilot+-laptop met AMD Ryzen AI-chip
© Acer
Huis

Acer lanceert Swift Air 16: ultralichte Copilot+-laptop met AMD Ryzen AI-chip

Acer heeft de nieuwe Swift Air 16 (SFA16-61M) gepresenteerd, een ultralichte 16 inch-laptop die minder dan een kilo weegt. De laptop is bedoeld voor gebruikers die veel reizen en combineert een ruim scherm met de nieuwste AI-functies van Windows 11.

De Swift Air 16 draait op de AMD Ryzen AI 300-serie processoren, tot maximaal een Ryzen AI 7 350. Deze chips zijn ontworpen om lokale AI-toepassingen sneller en energiezuiniger uit te voeren. Volgens Acer gaat de batterij tot 13 uur mee. De laptop is bovendien onderdeel van Microsofts Copilot+ pc-programma, waarmee functies als Recall, Click to Do en verbeterde Windows Search beschikbaar zijn voor productiever werken.

De behuizing is gemaakt van een magnesium-aluminiumlegering, wat zorgt voor stevigheid bij een gewicht van minder dan één kilo. Daarmee behoort de Swift Air 16 tot de lichtste laptops met een 16 inch-scherm. Gebruikers kunnen kiezen uit verschillende kleuruitvoeringen en twee schermopties: een WQXGA+ AMOLED-display met 120 Hz verversingssnelheid of een WUXGA IPS-paneel met een refresh rate van 60 Hz. De AMOLED-versie biedt een hoge helderheid (400 nits) en volledige DCI-P3-kleurruimte, wat vooral interessant is voor ontwerpers en andere creatieve professionals.

Voor videogesprekken is de laptop uitgerust met een 2MP Full HD IR-camera met privacysluiter en gezichtsherkenning via Windows Hello. Twee microfoons en luidsprekers zorgen voor helder geluid. Qua aansluitingen zijn er twee USB-C-poorten, een USB-A-poort en een HDMI 1.4-uitgang. Draadloos biedt het apparaat ondersteuning voor wifi 6E en de nieuwste Bluetooth-standaard.


De Acer Swift Air 16 ligt vanaf november 2025 in de Benelux in de winkels, met een adviesprijs vanaf 999 euro.


Wat is een Copilot+ pc?

Een Copilot+ pc is een nieuwe generatie Windows-laptops uitgerust met speciale AI-chips. Deze zorgen ervoor dat functies als spraakcommando's, samenvatten van documenten of beeldherkenning lokaal worden uitgevoerd in plaats van in de cloud. Dat maakt ze sneller en energiezuiniger.