Tam Hanna Selbstständig

„Wer von C zu Java, von Java zu C oder von C zu C# umsteigt, findet im Großen und Ganzen Bekanntes vor. Python tanzt insofern aus der Reihe, als sowohl in Sachen Syntax als auch in Sachen Sprachumfang Ungewohntes auftaucht.“

Als Guido van Rossum Python entwickelte, wollte er eine „einfache“ Programmiersprache erzeugen, die Schwachstellen anderer Systeme umging. Aufgrund der einfachen Syntax und durchdachter syntaktischer Kniffe entwickelte sich die Sprache als Standard für diverse wissenschaftliche Anwendungen wie Machine Learning.

Wer mit C, Java oder Perl aufgewachsen ist, betrachtet Python (auch ob der sehr eigenwilligen Community) vielleicht als Programmiersprache für eher weniger begabte Entwickler. Das ist schon deshalb unfair, weil Python im Bereich der Bibliotheken einen immensen Umfang aufweist und einige sehr interessante syntaktische Kniffe mitbringt.

Der Artikel geht davon aus, dass der Leser eine andere Programmiersprache – sei es C++ oder Java – kennt und mehr über die Besonderheiten Pythons erfahren will. Als Host soll eine unter Ubuntu 14.04 laufende AMD-8-Kern-Workstation dienen. Das bedeutet nicht, dass Python nicht auch unter macOS oder Windows existiert: Es gibt kaum ein Betriebssystem, das ohne Python auskommen muss.

Zähmung des Chaos

Der vor einigen Wochen erfolgte Rücktritt Guido van Rossums bestätigte eine schwerwiegende Schwachstelle der Python-Welt: Man hatte noch nie eine wirklich klare Roadmap – Python ist die Referenzimplementierung für das System des intelligenten Chaos. Aufgrund der vergleichsweise hohen Popularität ergibt sich eine problematische Situation. Es gibt eine Vielzahl verschiedener Python-Versionen, die miteinander im Großen und Ganzen inkompatibel sind. Zudem spannen viele Linux-Distributionen Python zur Realisierung von Systemdiensten ein – installiert man versehentlich einen inkompatiblen Interpreter, hat man es danach mit einer nicht mehr startfähigen Station zu tun.

Unter Ubuntu 14.04 ist die Lage insofern haarig, als Python und Python3 verschiedene Versionen des Interpreters aufrufen können:

tamhan@TAMHAN14:~$ python -V
Python 2.7.6
tamhan@TAMHAN14:~$ python3 -V
Python 3.4.3

Kommen Bibliotheken und andere lustige Dinge dazu, fühlt man sich an den berühmt-berüchtigten Würfel aus ballistischem Gel erinnert. Es ist nur eine Frage der Zeit, wann eine Änderung die Enchilada zum Kollaps bringt. Zur Umgehung des Problems bietet sich das System des virtuellen Environments an, dessen Funktion in Abbildung 1 schematisch dargestellt ist.

Abb. 1: Virtuelle Environments isolieren Python-Ausführungsumgebungen analog zu einem Container

Die Installation der virtuellen Environment Engine ist von Betriebssystem und Python-Version abhängig.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Entwickler Magazin Spezial Vol.17: Machine Learning - "Machine Learning"

Alle Infos zum Heft
579858877Eine Einführung in die Programmiersprache Python
X
- Gib Deinen Standort ein -
- or -