Inleiding
Jupyter Notebook biedt een opdrachtshell voor interactief rekenen als een webtoepassing. De tool kan worden gebruikt met verschillende talen, waaronder Python, Julia, R, Haskell en Ruby. Het wordt vaak gebruikt voor het werken met gegevens, statistische modellering en machine learning.
Deze zelfstudie begeleidt je bij het instellen van Jupyter Notebook om lokaal of vanaf een Ubuntu 22.04-server te draaien, en leert je hoe je verbinding kunt maken met en het notebook kunt gebruiken. Jupyter-notebooks (of simpelweg notebooks) zijn documenten die zijn geproduceerd door de Jupyter Notebook-app, die zowel computercode als tekstuele elementen bevatten (paragrafen, vergelijkingen, figuren, links, enz.) die helpen bij het presenteren en delen van reproduceerbaar onderzoek.
Aan het einde van deze handleiding kun je Python 3-code uitvoeren met behulp van Jupyter Notebook die op een lokale machine of een externe server draait.
Vereisten
Om deze zelfstudie te volgen, heb je een Python 3-programmeeromgeving nodig en de Python venv
-module, ofwel
- op je lokale machine, of
- op een Ubuntu-server.
Alle commando’s in deze handleiding moeten worden uitgevoerd als een niet-rootgebruiker. Als roottoegang vereist is voor het commando, wordt het voorafgegaan door sudo
. Initiële serverconfiguratie met Ubuntu 22.04 legt uit hoe gebruikers kunnen worden toegevoegd en sudo-toegang kunnen krijgen.
Stap 1 — Jupyter Notebook installeren
In dit gedeelte zullen we Jupyter Notebook installeren met pip
.
Activeer de Python 3-programmeeromgeving waarin u Jupyter Notebook wilt installeren. In ons voorbeeld zullen we het installeren in my_env
, dus zorgen we ervoor dat we in de map van die omgeving zijn en activeren we deze als volgt:
Vervolgens kunnen we ervoor zorgen dat pip
wordt bijgewerkt naar de meest recente versie:
Nu kunnen we Jupyter Notebook installeren met het volgende commando:
Op dit punt is Jupyter Notebook geïnstalleerd in de huidige programmeeromgeving.
De volgende optionele stap is voor degenen die een serverinstallatie van de webinterface verbinden via SSH-tunneling.
Stap 2 (Optioneel) — Gebruik SSH-tunneling om verbinding te maken met een serverinstallatie
Als u Jupyter Notebook op een externe server hebt geïnstalleerd, moet u verbinding maken met de Jupyter Notebook-webinterface via SSH-tunneling. Jupyter Notebook voert zijn browserinterface uit op een specifieke poort op uw externe server (zoals :8888
, :8889
, enz.), die standaard niet wordt blootgesteld aan het bredere web. SSH-tunneling maakt het mogelijk om veilig verbinding te maken met poorten op externe servers, die u vervolgens kunt openen met een lokale webbrowser.
Houd er rekening mee dat deze instructies bedoeld zijn om uit te voeren vanuit een lokaal terminalvenster, dat wil zeggen niet degene waarmee u verbinding hebt gemaakt met de server.
SSH-tunneling
Als je Windows gebruikt, moet je een versie van OpenSSH installeren om vanuit een terminal te kunnen ssh
’en. Als je liever in PowerShell werkt, kun je de documentatie van Microsoft volgen om OpenSSH aan PowerShell toe te voegen. Als je liever een volledige Linux-omgeving beschikbaar hebt, kun je WSL instellen, het Windows-subsysteem voor Linux, dat standaard ssh
omvat. Ten slotte kun je als een lichtgewicht derde optie Git for Windows installeren, wat een native Windows bash-terminalomgeving biedt die de ssh
-opdracht bevat. Elk van deze opties wordt goed ondersteund en de keuze hangt af van je voorkeur.
Als je een Mac of Linux gebruikt, heb je de ssh
-opdracht al beschikbaar in je terminal.
De stappen voor het maken van een SSH-tunnel zijn vergelijkbaar met de Hoe je verbinding maakt met Droplets met SSH-handleiding, behalve dat er extra parameters worden toegevoegd in de ssh
-opdracht. In deze subsectie worden de extra parameters beschreven die nodig zijn in de ssh
-opdracht om succesvol een tunnel op te zetten.
SSH-tunneling kan worden uitgevoerd door de volgende SSH-opdracht uit te voeren in een nieuw lokaal terminalvenster:
De ssh
opdracht opent een SSH-verbinding, maar -L
geeft aan dat de opgegeven poort op de lokale (client) host doorgestuurd moet worden naar de opgegeven host en poort aan de externe zijde (server). Dit betekent dat wat er draait op het tweede poortnummer (bijv. 8888
) op de server zal verschijnen op het eerste poortnummer (bijv. 8888
) op uw lokale computer.
Als u een melding krijgt dat poort 8888
niet beschikbaar is, kunt u deze wijzigen naar een ander willekeurig poortnummer onder 65535. Poort 8888 heeft geen significante betekenis maar wordt vaak gebruikt voor demo’s zoals deze.
server_gebruikersnaam
is uw gebruikersnaam (bijv. sammy) op de server die u heeft aangemaakt en uw_server_ip
is het IP-adres van uw server.
Bijvoorbeeld, voor de gebruikersnaam sammy
en het serveradres uw_server_ip
, zou het commando zijn:
Als er geen fout wordt weergegeven na het uitvoeren van de ssh -L
opdracht, kunt u naar uw programmeeromgeving gaan en Jupyter Notebook uitvoeren:
U ontvangt output met een URL. Open vanuit een webbrowser op uw lokale machine de Jupyter Notebook webinterface met de URL die begint met http://localhost:8888
. Zorg ervoor dat het tokennummer is inbegrepen, of voer de tokennummerreeks in wanneer daarom wordt gevraagd op http://localhost:8888
.
Stap 3 — Jupyter Notebook uitvoeren
Met Jupyter Notebook geïnstalleerd, kunt u het uitvoeren in uw terminal. Voer hiervoor het volgende commando uit:
A log of the activities of the Jupyter Notebook will be printed to the terminal. When you run Jupyter Notebook, it runs on a specific port number. The first notebook you are running will usually run on port 8888
. To check the specific port number Jupyter Notebook is running on, refer to the output of the command used to start it:
Output[I NotebookApp] Serving notebooks from local directory: /home/sammy
[I NotebookApp] 0 active kernels
[I NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
[I NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
...
Als u Jupyter Notebook lokaal uitvoert (niet op een server), zou uw standaardbrowser de Jupyter Notebook web-app moeten hebben geopend. Zo niet, of als u het venster sluit, kunt u naar de URL gaan die in de uitvoer wordt verstrekt, of naar localhost:8888
gaan om verbinding te maken.
Wanneer u het Jupyter Notebook-proces wilt stoppen, drukt u op Ctrl+C
, typt u Y
wanneer daarom wordt gevraagd, en drukt u vervolgens op Enter
om te bevestigen.
U ontvangt de volgende uitvoer:
Output[C 12:32:23.792 NotebookApp] Shutdown confirmed
[I 12:32:23.794 NotebookApp] Shutting down kernels
Jupyter Notebook wordt nu niet meer uitgevoerd.
Stap 4 — Gebruik van Jupyter Notebook
Deze sectie behandelt de basisprincipes van het gebruik van Jupyter Notebook. Als u Jupyter Notebook momenteel niet hebt draaien, start het dan met het jupyter notebook
-commando.
U moet nu verbonden zijn met het via een webbrowser. Jupyter Notebook is zeer krachtig en heeft veel functies. In dit gedeelte worden enkele van de basisfuncties beschreven om aan de slag te gaan met het gebruik van de notebook. Jupyter Notebook toont alle bestanden en mappen in de directory waarvan het wordt uitgevoerd, dus zorg ervoor dat u het vanuit de projectdirectory start wanneer u aan een project werkt.
Om een nieuw notebookbestand te maken, selecteert u Nieuw > Python 3 uit het vervolgkeuzemenu rechtsboven:
Dit opent een notebook. We kunnen nu Python-code uitvoeren in de cel of de cel wijzigen in markdown. Bijvoorbeeld, verander de eerste cel zodat deze Markdown accepteert door te klikken op Cel > Celtype > Markdown in de navigatiebalk bovenaan. We kunnen nu notities schrijven met Markdown en zelfs vergelijkingen opnemen die zijn geschreven in LaTeX door ze tussen de $$
-symbolen te plaatsen. Typ bijvoorbeeld het volgende in de cel nadat u deze hebt gewijzigd in markdown:
# Eenvoudige vergelijking
Let us now implement the following equation:
$$ y = x^2$$
where $x = 2$
Om de markdown in opgemaakte tekst om te zetten, drukt u op Ctrl+Enter
, en het volgende zou het resultaat moeten zijn:
U kunt de markdown-cellen gebruiken om notities te maken en uw code te documenteren. Laten we die eenvoudige vergelijking implementeren en het resultaat afdrukken. Klik op de bovenste cel en druk vervolgens op Alt+Enter
om eronder een cel toe te voegen. Voer de volgende code in de nieuwe cel in.
Om de code uit te voeren, drukt u op Ctrl+Enter
. U ontvangt de volgende resultaten:
U hebt nu de mogelijkheid om modules te importeren en de notebook te gebruiken zoals u dat zou doen met elke andere Python-ontwikkelomgeving!
Om de Jupyter notebook aan de serverzijde af te sluiten, keert u terug naar het terminalvenster waar u het hebt gestart en drukt u op Ctrl+C. Dit is een standaardsneltoets voor het beëindigen van terminalprocessen en Jupyter zal u vragen om op te slaan voordat u afsluit.
Conclusie
Gefeliciteerd! U zou nu in staat moeten zijn om reproduceerbare Python-code en notities te schrijven in Markdown met behulp van Jupyter Notebook. Om een snelle rondleiding van Jupyter Notebook te krijgen vanuit de interface, selecteert u Help > Gebruikersinterface Tour in het bovenste navigatiemenu om meer te leren.
Vanaf hier bent u misschien geïnteresseerd om onze serie over Tijdreeksvisualisatie en -voorspelling te lezen.
Source:
https://www.digitalocean.com/community/tutorials/how-to-set-up-jupyter-notebook-for-python-3