CgDA - Installation der Software¶
Die grafische Darstellung der Ergebnisse von experimentellen Analysen oder theoretischen Rechnungen ist in der Physik von zentraler Wichtigkeit. Dabei sind Wiederholbarkeit und Reproduzierbarkeit ganz wesentliche Anforderungen, die sich nur erfüllen lassen, wenn die grafischen Darstellungen in einer beschreibenden Sprache erstellt werden. Dazu eignet sich insbesondere auch die Skritp- und Programiersprache python, s. http://www.python.org, mit den Erweiterungspaketen numpy und matplotlib.
Eine Einführung bietet der Kurs „Computergestützte Datenauswertung“ (CgDA), der auch Methoden für die Anwendung im Physikalischen Praktikum zu klassischen Physik bereit stellt.
Das vorliegende Dokument beschreibt die Installation der wesentlichen Komponenten für die verbreiteten Platformen Linux (Ubuntu 8.04), Windows (10) und Mac OSX. Bitte beachten Sie, dass manche der Zusatzpakte python noch in der alten Version 2.7.x voraussetzen, die aktuelle und im Kurs verwendte Version ist Python 3.5.x. Außerdem wird das Textsatz-System LaTeX benötigt. Zur Anpassung von Funktionen an Daten wird das auf python und dem Optimierer minuit basierende Paket kafe empfohlen. Für weiterführende Anwendungen in höheren Semestern wird evtl. das am CERN entwickelte Datenanalysepaket Root benötigt.
Installation unter Linux/Ubuntu¶
Wenn Sie die zum Kurs empfohlene Software auf einem eigenen Linux-System installieren wollen, stellen Sie sicher, dass die in der folgenden Liste spezifizierten Pakete - je nach Distribution evtl. unter einem anderen Namen - vorhanden sind.
In der virtuellen Maschine zum Kurs sind alle Pakte bereits enthalten und Sie müssen nichts nachinstallieren.
Die folgende Liste gibt die Paketenamen an, die auf einer Basis-Installation von Ubuntu zusätzlich zu installieren sind. Die allgemeine Syntax lautet:
sudo apt-get install <package name>
Paketliste:
synaptic (package manager)
gfortran
g++
emacs, joe (or other editor)
- LaTeX packages,
texlive
texlive-latex-extra
texlive-math-extra
texlive-science
texlive-lang-english
texlive-lang-german
dvipng
kile (editor/environment for latex)
inkscape (scalable vector graphics)
- python 3 + some packages:
python-pip
python-numpy
python-scipy
python-matplotlib
python-qt4
gnuplot
qtiplot
kafe2 (Karlsruhe Fit Environment vers. 2, siehe Link https://github.com/dsavoiu/kafe2:
Installation von
iminuit
viasudo pip install 'iminuit<2'
,dann
pip install kafe2
Zur Verwendung der root-Klasse TMINUIT, zunächst root installieren, (s. unten) und den Eintrag minimizer-to-use in der kafe-Konfigurationsdatei kafe.conf von iminuit auf root setzen.
- CERN Datenanalyse-Paket root:
root-system
libroot-bindings-python5.34, libroot-bindings-python-dev
Software in der Virtuellen Machine¶
Die für den Kurs benötigte und oben beschriebene Software-Umgebung ist in der virtuellen Maschine VM-DaA (http://www.ekp.kit.edu/~quast/VM-DaA) enthalten. Diese virtuelle Maschine lässt sich leicht mit VirtualBox auf jedem Wirtssystem (Windows, Max OSX und allen Linux-Varianten) ausführen. Hinweise zur Installation und Anwendung von VirtualBox gibt es auf der Web-Seite des Herstellers (jetzt Oracle, s. http://www.virtualbox.org). Um weitere Funktionen, insbesondere den Zugriff auf USB-Ports des Wirtssystems zu erhalten, sollte auch die Erweiterung Oracle VM VirtualBox Extension Pack heruntergeladen und über den Menüpunkt Preferences/Extensions des graphischen Interfaces von VirtualBox installiert werden.
Software unter Windows¶
Liste der zusätzlich benötigen Software under Windows (vers. 10):
- empfohlen:
WinPython
(vers. 32 bit, 3.5.4)
- (eine „Distribution“ mit den meisten gängigen Paketen):
numpy
scipy
matplotlib
( … sowie viele weitere)
iminuit
undkafe
- kafe benötigt das Textsatz-Sytem
LaTeX
, empfohlen DANTEtexlive
(identisch zur Version unter Linux)
evtl.
root
/pyroot
(32 bit, vers. 5.34.34)Eine „Entwicklungsumgebung“ für Projekte unter Python:
IDLE
oderspyder
(enthalten inWinPython
)
- evtl.
pycharmEDU
(sehr mächtig, mit Index aller installierten Pakete),enthält auch einen Einführungskurs zu Python (für didaktische Zwecke)
Bezugsquellen¶
Alle Pakete können prinzipiell direkt von den jeweiligen Projekt-Seiten heruntergeladen und installiert werden (Links s. Vorlesung).
Als bequemere (und schnellere) Möglichkeit für diesen Kurs wird eine
gepackte, selbstextrahierende Datei DAsoft.exe
bereit gestellt, die
alle oben aufgeführten Komponenten enthält.
Nach Entpacken z.B. in ein Verzeichnis X:\<Pfad>\DAsoft
sind alle Komponenten unter Windows lauffähig. Das Installationsverzeichnis
kann sich auch auf einem (schnellen) USB-Stick befinden.
Die Datei setpaths.bat
enthält die Befehle für die
Windows-Eingabeaufforderung, um die notwendigen Pfade zu setzen
(zur Erklärung siehe nächster Absatz).
Aufsetzen der Arbeitsumgebung¶
Damit alle Programme „sich gegenseitig kennen“, müssen sogenannte
Umgebungsvariablen gesetzt werden. Dann kann man die Programme auch direkt
über die Kommandozeile aufrufen, und Programmkomponenten der unteschiedlichen
Pakete können von andern Paketen verwendet werden (root
und LaTeX
sind typische Beispiele).
Systemweit, d.h. für alle Benutzer und Programmpakete, geschieht das Setzen solcher Links über die grafische Oberfläche der Systemsteuereung von Windows.
Setzen von Pfaden mit der Windows-GUI
Rechtsklick Windows-Menü:
-> Systemsteuerung
-> System und Sicherheit
-> System
-> Erweiterte Systemeinstellungen
-> Umgebungsvariablen
- in Systemvariablen: Doppelklick Eintrag „Path“
„Neu“ anklicken und Pfade zu
Python
,LaTeX
(und evlt.root
) hinzufügen:
X:\DAsoft\texlive\2017\bin\win32
X:\DAsoft\WinPython\python-3.5.4
X:\DAsoft\root_v5.34.34\bin
„
X:
“ bezeichnet dabei den Laufwerksnamenin Systemvariablen „Neu …“ anklicken und Variable
PYTHONPATH
hinzufügen, Eintrag fürroot_<vers>\bin
anlegen:
X:\DAsoft\root_v5.34.34\bin
Pfade in der Windows-Eingabeaufforderung:
Die notwendigen Pfade lassen sich auch in der Windows-Eingabeaufforderung setzen. Wenn die Pfade bereits (wie oben angegeben) über die Systemsteuerung gesetzt sind, werden für die Eingabeaufforderung keine weiteren Pfadangaben benötigt.
Der Befehl zum dauerhaften Setzen von Pfaden, die auch für andere Anwendungen gelten, lautet:
setx path "%path%;<weiterer_Pfad>"
(%path%
enthält dabei die schon vorher gesetzten Pfade)
Das obige Beispiel zum Setzen des Pfades für LaTeX würde man in der Eingabeaufforderung so umsetzen:
setx path "%path%;X:\DAsoft\texlive\2015\bin\win32"
Für den Python-Pfad zu root:
setx pythonpath "%pythonpath%;X:\DAsoft\root_v5.34.34\bin"
Bitte beachten, dass die so gesetzten Pfade erst für neu gestartete Eingabeaufforderungen wirksam werden.
Symbolische Links im NTFS-Dateisystem
- Praktisch sind auch „symbolische Links“ direkt im Dateisystem NTFS
- (Achtung: das sind keine „Verknüpfungen“, wie sie mit der grafischen
Oberfläche erzeugt werden !). Mit solchen Links, die man bei Bedarf erzeugen und wieder löschen kann, lassen sich generische Namen für die diversen Pakete verwenden, z.B. python -> python3.5.4
- Vorgehensweise:
Rechtsklick Windows-Menü „Eingabeaufforderung(Administrator)“:
Symbolische Verknüpfungen hinzufügen:
mklink /d <Verknüpfungsname> <Zielverzeichnis>
Symbolische Verknüpfungen löschen:
rmdir <Verknüpfungsname>
Installation des Anpassungs-Pakets kafe¶
Quellcode und Dolumentation zu kafe sind auf github (http://github.com/dsavoiu/kafe) verfügbar. kafe läuft unter Python 2.7 und 3.5 auf den Platformen Linux, MS Windows (10) und Mac OS X.
kafe hat Abhängigkeiten von externen Paketen, die alle, wie auf das Paket kafe selbst mit pip installiert werden können.
Zunächst iminuit oder, alternativ, das root Packet installiern. Eine bereits vorkompilierte Version für Windows, iminuit-1.2-cp27-none-win32.whl existiert und wird zunächst installiert:
pip install "iminuit<2"
dann:
pip install kafe
Das Entfernen von kafe geht ebenfalls über pip:
pip uninstall kafe
Installation unter Mac OSX¶
Zuerst wird XCode installiert. Dieses Paket stellt u.a. Programme zum kompilieren der weiteren erforderlichen Pakete zur Verfügung. Dazu im Terminal folgenden Befehl ausführen und den Anweisungen auf dem Bildschirm folgen:
$ xcode-select --install
[...]
$
Zum Installieren der verbleibenden erforderlichen Pakete empfehlen wir, einen Paketmanager zu nutzen (z.B. brew). Folgende Befehle dazu nacheinander in einem Terminal ausführen:
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
[...]
$ brew update
[...]
$
Nun werden die Pakete ROOT und Python installiert (dieser Schritt kann eine Weile (~40 Minuten) dauern):
$ brew install root python
[...]
$
Um ROOT verfügbar zu machen, müssen folgende Zeilen in die Datei
.bashrc
im Homeverzeichnis hinzugefügt werden:
thisroot=$(brew --prefix root)/bin/thisroot.sh
test -f $thisroot && source $thisroot
Desweiteren werden LaTeX und ein Editor zum Bearbeiten von
.tex
-Dateien installiert:
$ brew cask install mactex texshop
[...]
$
Für die Datenanalyse werden nun noch die Python-Pakete
numpy
und scipy
, und zum Plotten matplotlib
mit dem Python-Paketmanager pip
installiert:
$ pip3 install numpy scipy matplotlib
[...]
$
Unter Umständen ist es nötig, das sogenannte Backendend von
matplotlib
auf TKAgg
umzustellen, falls Fenster mit
Plots nicht dargestellt werden. Das kann entweder mit
import matplotlib
matplotlib.use('TKAgg')
mit jedem matplotlib
-import geschehen, oder es wird
backend : TkAgg
an das Ende der Datei
$USER/.matplolib/matplotlibrc
angefügt.
Hier können auch weitere globale matplotlib-Einstellungen
vorgenommen werden, siehe
die matplotlib Dokumentation.
Zu guter Letzt werden noch iminuit und kafe (Karlsruhe Fitting Environment vers. 2) für Minimierungs-/Fittingprobleme installiert
$ pip3 install 'iminuit<2' kafe2
[...]
$