iPython-Notebook einrichten

Dies ist eine aktualisierte Version eines Artikels bezüglich der Einrichtung eines IPython-Notebooks auf einem Ubuntu-System unter Verwendung des Anaconda-Installationspakets

Installation einzelner Softwarepakete

Auf einem Ubuntu-System wird Python – in der Version 2.x – in der Regel vorinstalliert sein. Möchtet Ihr Python in Version 3.x nutzen, müsst Ihr die entsprechenden Pakete über das Ubuntu Software Center installieren.[1] 

IPython kann ebenfalls über das Software Center installiert werden. Dafür müsst Ihr dort lediglich “IPython” als Suchbegriff eingeben.

Ihr findet dort sowohl eine Version für Python 2.7.x (Paket ipython) als auch eine Version für Python 3.x (Paket ipython3). Ein Klick auf “More Info” zeigt eine Übersicht über optionale Pakete an, so auch ipython-notebook.

Die Installation – der Version 2.7.x – kann auch über das Terminal vorgenommen werden:

sudo apt-get install ipython-notebook

Für Version 3 verwendet Ihr dementsprechend:

sudo apt-get install ipython3-notebook

Damit aber nicht genug. Denn Python bietet für die Datenauswertung zahlreiche Pakete an, die man in der Regel – neben IPython – ebenfalls nutzen möchte. Zu nennen wären da beispielsweise

  • NumPy,
  • SciPy,
  • Matplotlib oder
  • Pandas.

Installation mit einer All-In-One-Distribution

Das Installieren all dieser Pakete kann viel Zeit in Anspruch nehmen (und Nerven kosten). Deswegen ist es einfacher, ein vorgefertigtes All-In-One-Installationspaket zu verwenden. In diesem Tutorial gehe ich auf die Installation von Anaconda ein. Informationen zu dieser Distribution finden sich hier. Die erforderlichen Installationspakete – für Window, Linux und OS X – gibt es auf der Anaconda-Downloadseite. Darüber hinaus könnt Ihr auch wget nutzen:[2]

Linux 64Bit-Version für Python 2.7:

cd ~
wget https://3230d63b5fc54e62148e-c95ac804525aac4b6dba79b00b39d1d3.ssl.cf1.rackcdn.com/Anaconda2-2.4.1-Linux-x86_64.sh

Linux 64Bit-Version für Python 3.5:

cd ~
wget https://3230d63b5fc54e62148e-c95ac804525aac4b6dba79b00b39d1d3.ssl.cf1.rackcdn.com/Anaconda3-2.4.1-Linux-x86_64.sh

In Eurem Benutzerverzeichnis solltet Ihr nun Anaconda–x.x.x-Linux-x86_64.sh sehen. Am besten überprüft Ihr das zunächst:

cd ~
ls -l

Nun geht es an die Installation. Doch nach dem Aufruf von

bash Anaconda3-2.4.1-Linux-x86_64.sh

muss zunächst die license agreement mit “yes” abgesegnet werden. Danach beginnt der eigentliche Installationsprozess, wobei ich in diesem Beispiel Anaconda in meinem Benutzerverzeichnis installiere, so dass dort schließlich ein neues Verzeichnis mit der Bezeichnung anaconda3 vorhanden ist.

Zum Abschluss der Installation fragt Euch der Anaconda-Installer noch, ob der Pfad zum Installationsverzeichnis in die Konfigurationsdatei .bashrc eingetragen werden soll. Bejaht das, denn andernfalls müsst Ihr dies manuell vornehmen.

Do you wish the installer to prepend the Anaconda3 install location to PATH in your /home/bodo/.bashrc ? [yes|no]
[no] >>> yes

Vergeßt nicht, die .bashrc neu zu laden:

source .bashrc

Notebook einrichten

Jetzt geht es an die eigentliche Notebook-Konfiguration. Dazu geht Ihr folgendermaßen vor: Für die Erstellung eines neuen Notebook-Profils, gebt zunächst folgendes Kommando im Terminal ein:

ipython profile create nbserver

Dann ist es an der Zeit, für den Notebook-Server ein Passwort zu erstellen. Dafür verwendet Ihr IPython:

  1. Gebt im Terminal ipython ein, anschließend geht es mit folgenden Schritten weiter:
  2. ln [1]: from IPython.lib import passwd
  3. ln [2]: passwd()
  4. Enter password:
  5. Verify password:
  6. Als Ergebnis erhaltet Ihr den Hashwert des von Euch gewählten Passworts. Diesen Wert müsst Ihr aufschreiben oder beispielsweise in eine leere Textdatei kopieren, denn Ihr werdet ihn später benötigen.
  7. Beendet IPython mit Strg + d.

Wir benötigen auch noch ein selbst signiertes SSL-Zertifikat; es geht also im Terminal weiter:

1. cd ~
2. mkdir cert
3. cd cert
4. openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout cert.pem -out cert.pem

Euer Zertifikat sollte nun in Eurem Benutzerverzeichnis im Ordner cert liegen, bei mir wäre das

/home/bodo/cert

Es muss auch noch die Konfigurationsdatei

ipython_notebook_config.py

angepasst werden Sie befindet sich im Verzeichnis[3]

~/.ipython/profile_nbserver/

Im Ergebnis müssen folgende Einträge vorgenommen bzw. die Kommentarzeichen entfernt werden:

c = get_config()
c.NotebookApp.certfile = u'/home/bodo/cert/cert.pem'
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.password = u'sha:.......'
c.NotebookApp.port 8888

Wir Ihr sehen könnt, tragt Ihr bei c.NotebookApp.password den vorher bei der Festlegung des Passworts generierten Hashwert ein.

Im Verzeichnis

~/.ipython/profile_nbserver

muss auch noch die Konfigurationsdatei

ipython_kernel_config.py

angepasst werden. Hier entfernt Ihr das Kommentarzeichen bei

c.IPKernelApp.pylab = 'inline'

und setzt den Wert auf  'inline'.

Sofern nicht bereits geschehen, entfernt auch das Kommentarzeichen bei:

c = get_config()

Notebook-Server starten

Im Terminal startet Ihr Euer Notebook mit

ipython notebook inline --profile=nbserver

Anschließend könnt Ihr es im Browser über

https://IP-Adresse:8888

aufrufen. Vermutlich erhaltet Ihr eine Warnung dergestalt, dass das Zertifikat nicht vertrauenswürdig sei. Ihr könnt dies absegnen, schließlich handelt es sich dabei um das von Euch erstellte SSL-Zertifikat. Es erscheint dann die Anmeldeseite, auf der die Anmeldung mit dem von Euch gewählten Kennwort erfolgt.

Und das war’s dann auch. Viel Spaß mit Eurem IPython-Notebook.

Und was gibt es noch?

Sicherlich noch eine ganze Menge. Eingehen möchte ich auf die Möglichkeit, den Notebook-Server so zu starten, dass Ihr das Terminal schließen könnt, ohne dass sich der Server beendet. Dazu startet Ihr den Notebook-Server mit dem Kommando:

nohup ipython notebook --profile=nbserver

In dem Verzeichnis, in dem Ihr Euch während der Eingabe dieses Kommandos befindet, wird dabei die Datei

nohup.out

angelegt.

Mit Hilfe des Kommandos

lsof nohup.out

könnt Ihr die Prozess-ID in Erfahrung bringen und dann über

kill -9 [Prozess-ID]

den Notebook-Server wieder beenden. Damit Euch tatsächlich die Prozess-ID angezeigt wird, müsst Ihr Euch übrigens in dem Verzeichnis befinden, in dem die Datei „nohup.out“ gespeichert wurde.


  1. Zum Zeitpunkt der Erstellung dieses Artikel habe ich Ubuntu 14.04 verwendet.  ↩
  2. Mittlerweile mögen andere Installationspakete vorhanden sein, so dass der Link für wget nicht mehr funktionieren mag.  ↩
  3. Vorausgesetzt Ihr habt auch ein Profil mit dem Namen nbserver erzeugt. Andernfalls verwendet Ihr den von Euch gewählten Profilnamen.  ↩

Durch Benutzung dieser Website erklären Sie sich mit der Verwendung von Cookies einverstanden. Mehr Informationen

Die Verwendung von Cookies dient dazu, Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf diese Website zu analysieren. Außerdem werden Informationen zur Nutzung dieser Webseite an Partner für soziale Medien, Werbung und Analysen weitergegeben.

Schließen