Sebastian Schmid bio photo

Sebastian Schmid

Student der angewandten Informatik an der HTW Berlin.
Interessen sind Linux, Latex und Python.

Github Stackoverflow

Mit Octave gibt es ein gutes Opensource Rechenprogramm. Dieses ist vergleichbar mit Mathematica und rechnet ausschließlich numerisch. Leider wirkt die GUI altbacken und unübersichtlich und das Arbeiten mit der Eingabeaufforderung und Skripten ist doch eher umständlich. Deswegen ist es einfach fantastisch, dass durch das Modul oct2py ein gelungener Octavewrapper für Python existiert. Mit IPython wird das ganze noch magischer. Hier wird die Installation und ein kleiner Einblick in die Bedienung einer oct2pymagic-Ipython-Notebook-Umgebung beschrieben.

Installation

Zuallererst muss natürlich Octave installiert werden. Unter Linux kann in den meisten Fällen der Paketmanager bemüht werden, dass er es aus dem Repository ins System spielt. Mac- und Windowsuser sind es ja gewohnt, dass alles etwas umständlicher geht. Diese bekommen die Binärfiles hier

Virtualenv

Es empfielt sich für solche Projekte eine virtuelle Umgebung einzurichten. Denn zum einen kann man so festlegen, welche Pakete in welcher Version verwendet werden sollen und zum anderen “stören” die Projekte und das Betriebssystem sich nicht.

Ich habe es so eingerichtet, dass für das gesamte Notebook ein virtualenv existiert:

# Erstellen des Projektordners
mkdir -p my_project/notebook && cd my_project
# Erstellen der virtuellen Umgebung 
virtualenv venv --no-side-packages
# Betreten der virtuellen Umgebung
source venv/bin/activate
# Installation der benötigten Pakete
pip install oct2py
pip install "ipython[notebook]"
# Der folgende Befehl kann das System eine halbe Stunde
# unter Volllast beanspruchen!
pip install scipy
# Wenn alles fertig ist, starten wir das Notebook
venv/bin/ipython notebook

Oct2py-Magic

Das Notebook öffnet sich im Browser. Hier muss folgender Befehl abgesetzt werden um die cot2py magic zu aktivieren:

>>> %load_ext oct2py.ipython

Danach wird jeder Block der mit der Zeile

%% octave

beginnt, als octave interpretiert.

Zusätzlich stehen natürlich noch Pythonmodule wie scipy, numpy, pandas, und wie sie alle heißen, zur Verfügung.

Weitere Informationen finden sich hier

So it’s just magic!