Cursus

Softwareontwikkeling begrijpen zonder programmeertalen is onmogelijk. Klopt, een softwareontwikkelaar zonder programmeertaal is als een taxichauffeur zonder auto. Maar het ligt ingewikkelder. Net zoals gps het leven van taxichauffeurs makkelijker maakt, doen Integrated Development Environments (ook wel IDE’s) dat voor programmeurs.
IDE’s zijn ontworpen om programmeurs in staat te stellen efficiënter code te schrijven en softwaretoepassingen te ontwikkelen. IDE’s verhogen de productiviteit door meerdere hulpmiddelen samen te brengen in één interface. Code schrijven, testen en debuggen, maar ook bewerkingsfuncties zoals syntaxismarkering, haakjes-matchen en automatische code-aanvulling behoren tot de meest voorkomende features van moderne IDE’s.
Er zijn veel IDE’s die bijzonder geschikt zijn voor data science, waaronder DataCamp’s DataLab. In dit artikel maken we je wegwijs in JupyterLab, de volgende generatie van Jupyter Notebook, waarschijnlijk de populairste IDE voor data science. JupyterLab, uitgebracht in 2018, biedt een flexibele gebruikersinterface en meer functies dan de klassieke Jupyter Notebook, en is zeker het heden en de toekomst van Project Jupyter. Wil je aan de slag met JupyterLab? Lees dan verder!
Een korte introductie tot Jupyter Notebook
Toen Jupyter Notebook in 2014 voor het eerst werd gelanceerd, veranderde het razendsnel het IDE-landschap. Onlangs nog bestempeld als een van de belangrijkste computingprojecten die het proces van wetenschappelijke publicatie voorgoed hebben veranderd, is Jupyter de de facto standaard in data science geworden.
Jupyter Notebook werkt als een server-clienttoepassing, waarmee codeurs notitieboeken kunnen bewerken en uitvoeren via een webbrowser. De applicatie kan op een computer zonder internettoegang worden uitgevoerd, of worden geïnstalleerd op een externe server, waar je er via internet toegang toe hebt.
Oorspronkelijk ontworpen voor Julia, Python en R – drie van de populairste programmeertalen voor data science – ondersteunt Jupyter vandaag de dag meer dan 40 programmeertalen.
Jupyter bestaat uit twee hoofdcomponenten.
- Kernel. Dit is een programma dat de code van de gebruiker uitvoert en onderzoekt. Standaard heeft Jupyter een kernel voor Python-code, maar er zijn ook kernels beschikbaar voor andere programmeertalen.
- Dashboard. Een notebook bestaat primair uit een reeks cellen, die elementen kunnen bevatten zoals code, tekst, visualisaties, afbeeldingen en formules. Naast cellen bevat het dashboard diverse tools om de workflow van het notebook te configureren, code te debuggen, notitieboeken naar verschillende formaten te exporteren, door documenten te bladeren, en veel meer.

Als verbeterde versie van Jupyter Notebook voegt JupyterLab nieuwe functies en mogelijkheden toe, hoewel de kerncomponenten intact blijven.
Aan de slag met JupyterLab
Om JupyterLab te gebruiken, moet je het eerst op je computer installeren, net als elk ander programma. Dat kan op verschillende manieren, afhankelijk van je voorkeuren: met pip, Anaconda of Docker.
JupyterLab installeren met pip
Pip is de standaard pakketbeheerder in Python. Om JupyterLab met pip te installeren, voer je op de opdrachtregel uit:
>>pip install jupyterlab
Na het uitvoeren van deze instructie installeert pip de JupyterLab-pakketten en alle afhankelijkheden die nodig zijn om JupyterLab te laten werken. Wil je meer weten over pakketbeheer in Python, bekijk dan onze Pip Python-tutorial voor pakketbeheer.
Zodra je JupyterLab succesvol hebt geïnstalleerd, hoef je alleen nog de volgende opdracht uit te voeren om JupyterLab te openen:
>>jupyter lab
Daarna opent de applicatie in je favoriete webbrowser op het volgende adres: http://localhost:8888/lab

JupyterLab installeren met Anaconda
Anaconda is een pakketbeheerder, een omgevingsbeheerder en een Python-distributie met een verzameling van veel open-sourcepakketten. Anaconda is een uitstekende keuze als je met data science wilt beginnen. Je hoeft je geen zorgen meer te maken over het installeren van Python of JupyterLab, want die worden automatisch geïnstalleerd in moderne Anaconda-distributies.
De eenvoudigste manier om JupyterLab te starten is via de Anaconda Navigator, een applicatie waarmee je de functionaliteiten van Anaconda op een gebruiksvriendelijke en no-code manier kunt benutten. Zoals je in de onderstaande afbeelding ziet, zijn zowel Jupyter Notebook als JupyterLab al geïnstalleerd. Je hoeft alleen op de knop Launch te klikken om JupyterLab in je webbrowser te openen.

In bepaalde gevallen – bijvoorbeeld wanneer je een nieuwe conda-omgeving aanmaakt – moet je JupyterLab in die omgeving installeren. De snelste manier is door het volgende uit te voeren op de conda-opdrachtregel (Anaconda Prompt op Windows en terminal op macOS en Linux):
>>conda install -c conda-forge jupyterlab
JupyterLab installeren met Docker
Docker is een open platform om software in containers te draaien. Deze containers zijn zelfstandige en geïsoleerde processen waarmee je je applicaties kunt loskoppelen van je infrastructuur, zodat je snel software kunt leveren.
Als je Docker hebt geïnstalleerd, kun je JupyterLab installeren en gebruiken door een van de vele Docker-images te kiezen die worden ondersteund door de Jupyter Docker Stacks. Je kunt deze images zien als voorverpakte softwarebundels die automatisch van Docker worden gedownload wanneer je ze uitvoert.
Als je bijvoorbeeld de Docker-image jupyter/datascience-notebook wilt installeren, die bibliotheken voor data-analyse in Julia, Python en R bevat, voer je het volgende uit in de Docker-opdrachtregel:
>>docker run -it -p 10000:8888 -e JUPYTER_ENABLE_LAB=yes jupyter/scipy-notebook
Voor meer details en voorbeelden over het gebruik van JupyterLab op Docker, bekijk de documentatie. Voor een uitgebreide introductie tot Docker raden we ook deze DataCamp-tutorial aan.
JupyterLab-interface
De JupyterLab-interface is een geremasterde versie van de Jupyter Notebook-interface en biedt een nieuwe set modulaire bouwstenen voor interactieve en efficiënte computing. JupyterLab integreert verschillende codeertools in één enkele interface en biedt zo een codeerervaring die meer lijkt op traditionele IDE’s.

De JupyterLab-interface bestaat uit de volgende hoofdelementen:
- Werkruimte. De hoofdwerkruimte heeft een nieuwe tabgebaseerde lay-out waarmee je verschillende documenten (notebooks, databestanden, HTML, pdf’s, afbeeldingen, enz.) en codeertools (terminal, codeconsoles, teksteditor, enz.) kunt combineren in panelen met tabbladen die je met slepen en neerzetten kunt vergroten, verkleinen of onderverdelen. Het tabbladsysteem, dat ontbreekt in Jupyter Notebook, maakt geïntegreerder en efficiënter programmeren mogelijk, omdat ontwikkelaars het meeste werk kunnen doen zonder JupyterLab te verlaten.
- Linkerzijbalk. De invouwbare zijbalk bevat verschillende veelgebruikte tabbladen, waaronder:
- Bestandsbrowser. Hiermee beheer je bestanden en mappen op je computer.
- Tab- en kernelbeheer. Biedt een lijst van tabbladen in de hoofdwerkruimte en van actieve kernels en terminals.
- Inhoudsopgave. Een interactieve index op basis van koppen in markdown-cellen.
- Extensiebeheer. Hiermee kun je nieuwe applicaties en plug-ins installeren om je JupyterLab-ervaring te verbeteren (zie hieronder).
- Rechterzijbalk. Een tweede invouwbare zijbalk met:
- Eigenschappeninspecteur. Hiermee kun je de informatie en eigenschappen van cellen gedetailleerd bekijken.
- Debugger (zie hieronder)
- Menubalk. De menubalk bovenaan JupyterLab bevat hoofdmenu’s met acties die in JupyterLab beschikbaar zijn. De verschillende menu’s zijn:
- File: acties met betrekking tot bestanden en mappen.
- Edit: acties voor het bewerken van documenten en andere activiteiten.
- View: acties die het uiterlijk van JupyterLab aanpassen.
- Run: acties om code uit te voeren in verschillende activiteiten.
- Kernel: acties voor het beheren van kernels.
- Tabs: een lijst met de open documenten en activiteiten in de werkruimte.
- Settings: algemene instellingen en een geavanceerde instellingeneditor. Een van de leukste features van JupyterLab is de mogelijkheid om verschillende thema’s voor de interface te kiezen, waaronder Donkere modus.
- Help: een lijst met helpkoppelingen voor JupyterLab en kernels.
Debuggen in JupyterLab
Het doel van debuggen is de oorzaken aan te wijzen van bugs die tijdens het testproces in je programma worden gevonden, en je code zo aan te passen dat je het juiste, gewenste resultaat krijgt.
Datawerkers en, breder, softwareontwikkelaars monitoren in een debugproces de interacties tussen en veranderingen in de variabelen van het programma. Je kunt de mogelijke oorzaken van fouten in je programma onderzoeken door te bekijken hoe elke functie, methode of zelfs regel code de waarde en werking van de variabelen verandert.
Jupyter Notebook en de eerste versies van JupyterLab bevatten de ingebouwde magic command %debug om debuggingtaken uit te voeren. Vergeleken met debuggers in andere IDE’s is die tool echter vrij rudimentair.
Gelukkig bevatten de nieuwste versies van JupyterLab standaard een Debugger-front-end. Deze biedt de traditionele debugmogelijkheden, zoals breakpoints zetten, functies instappen en variabelen inspecteren. Je activeert hem via de rechterzijbalk, zoals in de onderstaande afbeelding:

JupyterLab-extensies
JupyterLab is al een krachtige en goed uitgeruste tool, met nieuwe features die je codeerervaring meer op die van een IDE laten lijken. Maar als je het gevoel hebt dat er functionaliteit ontbreekt of je de mogelijkheden van JupyterLab wilt uitbreiden, kijk dan eens naar Jupyter-extensies.
Geschreven in JavaScript, zijn JupyterLab-extensies stukjes software met één of meer plug-ins die nieuwe mogelijkheden aan JupyterLab toevoegen, zoals nieuwe thema’s, een bestandseditor en nieuwe sneltoetsen.
Er zijn twee soorten JupyterLab-extensies:
- Voorgebouwde extensie. Vereist geen herbouw van JupyterLab.
- Bronextensie. Vereist een herbouw van JupyterLab bij installatie. Voor het herbouwen van JupyterLab moet Node.js – een open-source, cross-platform omgeving voor het draaien van JavaScript-applicaties – zijn geïnstalleerd.
Als je conda met conda-forge-pakketten gebruikt, kun je Node.js installeren met:
>>conda install -c conda-forge nodejs
Er zijn verschillende manieren om JupyterLab-extensies te beheren, maar we raden je ten zeerste aan de ingebouwde Extensiebeheerder te gebruiken. Toegankelijk via het puzzelicoon op de linkerzijbalk kun je met de Extensiebeheerder extensies installeren en uitschakelen zonder te hoeven coderen.

Voor meer informatie over JupyterLab-extensies en hoe je ze beheert, bekijk de JupyterLab-documentatie.
JupyterLab vs Jupyter Notebook
Hieronder vind je een tabel met verschillen tussen Jupyter Notebook en JupyterLab:
|
Jupyter Notebook |
JupyterLab |
|
|
Uitgebracht in |
2014 |
2018 |
|
Open source? |
Ja |
Ja |
|
Tabsysteem |
Één tabblad |
Meerdere, modulaire tabbladen, alles in één weergave |
|
Debugmogelijkheden |
%debug magic command |
Debugger |
|
Viewer voor databestanden |
Databestanden als tekstbestanden weergegeven |
Data kunnen in tabelvorm worden bekeken |
|
Codeerervaring |
Voelt als een losstaande tool |
Voelt als een IDE |
|
Standaard thema’s |
Wit |
Licht en Donker |
|
Voordelen |
|
|
|
Nadelen |
|
|
|
Toekomstige ontwikkelingen |
Blijft bestaan als legacy-oude versie |
De toekomst van Project Jupyter |
DataLab
Ben je op zoek naar een online, cloudgebaseerde IDE waarmee je samen code kunt schrijven en data kunt analyseren en je inzichten kunt delen, dan is DataLab een uitstekende keuze.
DataLab is gebouwd door DataCamp en is een cloudplatform voor data-analyse dat is ontworpen om je snel en eenvoudig op weg te helpen. Met DataLab sla je het tijdrovende installatieproces over en kun je direct met data aan de slag. Je hoeft niets te installeren, want alles is toegankelijk via de browser.
In DataLab vind je ingebouwde datasets die je meteen kunt gebruiken, evenals kant-en-klare templates met voorgeschreven code. DataLab is toegankelijk voor alle vaardigheidsniveaus, met low- en no-code-tools om prachtige rapporten en visualisaties te maken.
Het ondersteunt ook Python en R, beide met native SQL-integraties, en wordt vooraf geconfigureerd en geïnstalleerd met ’s werelds populairste data science-pakketten.
Voer de code van deze tutorial online uit en bewerk deze
Code uitvoerenConclusie
Je bent tot het einde gekomen. Gefeliciteerd! We hopen dat je deze tutorial over JupyterLab leuk vond. Dankzij de celgebaseerde structuur, die draait om interactieve, verkennende computing, werd Jupyter al snel een revolutionaire tool, de favoriete IDE voor dataprofessionals. Vergeleken met Jupyter Notebook is JupyterLab een verfijnder hulpmiddel dat het beste van notebooks en traditionele IDE’s, zoals RStudio en PyCharm, samenbrengt.
Dus als je nieuw bent in data science en je je afvraagt of je Jupyter Notebook of JupyterLab moet kiezen, raden we je sterk aan voor de laatste te gaan. Wil je meer weten over Jupyter? Bekijk dan de volgende DataCamp-materialen:
- SQL-interface in JupyterLab-tutorial
- Jupyter Notebook Tutorial: The Definitive Guide
- Markdown in Jupyter Notebook-tutorial
- Jupyter Notebook-cheatsheet
JupyterLab-tutorial: veelgestelde vragen
- Wat is een IDE?
IDE’s zijn programma’s die zijn ontworpen om programmeurs efficiënter code te laten schrijven en softwaretoepassingen te ontwikkelen. IDE’s verhogen de productiviteit door meerdere hulpmiddelen in één interface samen te brengen. - Wat is JupyterLab?
JupyterLab is Jupyters nieuwste webgebaseerde IDE voor notebooks, code en data. - Wat is een notebook?
Een notebook is een document met elementen zoals code, vergelijkingen, visualisaties en tekst, volgens een celgebaseerde structuur. - Kan ik Python gebruiken in JupyterLab?
Ja, evenals andere programmeertalen voor data science, zoals R en Julia - Wat is de JupyterLab Extension Manager?
Hiermee kun je nieuwe applicaties en plug-ins installeren om je JupyterLab-ervaring te verbeteren - Moet ik kiezen voor Jupyter Notebook of JupyterLab?
Omdat JupyterLab het heden en de toekomst van het Jupyter-project is, raden we je sterk aan voor JupyterLab te kiezen.
