Logo

Python — Die Ersten Schritte

Schlagwörter: Geany, Python

Nach dem ich nun schon seit einiger Zeit mit der Hochsprache Python liebäu­gle, habe ich mich nun dazu durch gerun­gen, mir diese nun etwas näher anzusehen.

Der Aus­löser dafür ist die — durch eine angestrebte Migra­tion eines größeren Windows-XP-Firmennetzwerkes zu Linux bed­ingte — Notwendigkeit, beste­hende Microsoft-Office-Makros in OpenOf­fice zumin­d­est funk­tionell nachzu­bilden.  Ger­ade diese Makros machen den Abschied vom [[proprietär|proprietären]] Office oft sehr schwierig — warum sollte es also in meinem Fall anders sein Evil .Also galt es zunächst festzustellen, wie diese Makros am besten zu pro­gram­mieren sind. Da ich in Sachen (Office-) Makros rel­a­tiv (also abso­lut) unb­eleckt bin, galt meine erste Suche den Möglichkeiten, die OpenOf­fice zur Makro-Programmierung bietet. Natür­lich stieß ich zu nächst auf das board­eigene OpenOffice-Basic, welches es nativ ermöglicht, Makros zu imple­men­tieren.  Allerd­ings finde ich die ange­botene UNO–Schnittstelle viel inter­es­san­ter. Darüber ist es möglich, in anderen Sprachen entwick­elte Makros in OpenOf­fice ver­füg­bar zu machen (s. Pro­jek­t­seite). Da unter den genan­nten Sprachen sich eben­falls Python befindet, lag die Bestre­bung für mich nahe, es zu diesem Zweck einzusetzen.

Da ich (wie auch meine Kol­le­gen)  so oder so eine für mich neue Sprache erler­nen muss, bietet Python ein­fach die besseren Ein­stiegs– und vor allem spätere Ein­satzmöglichkeiten. Damit lassen sich schließlich nicht nur Makros, son­dern so ziem­lich alle anderen Sachen real­isieren. Für let­ztere set­zte ich in der Ver­gan­gen­heit eigentlich immer auf Perl — allerd­ings will ich nun auch mal mit der Mode gehen Grin .

Soweit zumin­d­est in der The­o­rie, was die Praxis zu bieten hat, wird die Zukunft zeigen.

Wenn man etwas neu macht, dann macht man es richtig

…und schon gehen die Schwierigkeiten los. Erst vor kurzem wurde Python 3000, also Python 3, veröf­fentlicht. Das soll zwar (noch) etwas langsamer als Python 2.5 sein, dafür aber der­maßen überar­beitet und verbessert wor­den sein, dass es mit seiner Vorgängerver­sion nicht mehr kom­pat­i­bel ist. Eben diese ist aber die derzeit aktuelle und in den meis­ten Dis­tri­b­u­tio­nen vorhan­dene. [[Ubuntu]] Intre­pid Ibex bringt noch die Ver­sion 2.5.2 mit, Open­SUSE bietet schon 2.6. Let­ztere bietet eine Art Kompatibilitäts-Modus, in dem man die Lauf­fähigkeit des Scripts in der dreier Python­ver­sion mit dem Schal­ter python –3 beim Pro­gram­maufruf überprüfen lassen kann. So heißt es bei Ubuntu: warten auf die näch­ste Ver­sion im April.

Natür­lich lässt sich Python 3 auch instal­lieren, allerd­ings kann die stan­dard­mäßig ver­wen­dete Ver­sion nicht ein­fach überschrieben wer­den. Viele sys­tem­nahe oder anders notwendige Pro­gramme wur­den in Python ver­fasst. Wie oben ja schon beschrieben, sind die alte und neue Ver­sion ein­fach inkom­pat­i­bel. Würde man die Stan­dards ein­fach umschreiben, wür­den viele Pro­gramme ein­fach nicht mehr funk­tion­ieren. So muss ich beide Ver­sio­nen par­al­lel instal­lieren und beim Pro­gram­maufruf fes­tle­gen, welche Ver­sion denn nun genutzt wer­den soll. Um der Voll­ständigkeit Genüge zu tun, will ich noch erwäh­nen, dass ein Con­verter für ältere Python mit­geliefert wird. Der überprüft allerd­ings lediglich den Syn­tax, nicht aber die Seman­tik der Programme.

Das Ganze führt dann auch direkt zu Ein­stiegsprob­lem #2:

Welche IDE bzw. welcher Edi­tor ist wohl der beste für mich? Da ich seit rel­a­tiv kurzer Zeit beken­nen­der Anhänger von Net­beans (PHP& Weben­twick­lung)  bin, liegt mein Bestreben nahe, diese IDE auch für Python einzuset­zen. Lei­der ist die Unter­stützung in Ver­sion 6.5 für Python noch nicht inte­graler Bestandteil und ein entsprechen­des Plu­gin befindet sich noch im Beta-Stadium. Allerd­ings besteht Hoff­nung auf die Ver­sion 7. Bliebe noch Eclipse mit dem PyDev-Plugin. Doch von dieser IDE hatte ich mich ja schon zu Gun­sten von Net­beans ver­ab­schiedet. Irgend­wie wider­strebt es mir auch, zwei der­maßen mächtige und und umfan­gre­iche IDEs zu instal­lieren und zu benutzen.

Weit­er­hin existiert noch Eric4, eine (grund­sät­zlich) eigene Python-IDE. Bei der fand ich allerd­ings (in angemessener Zeit) keine Möglichkeit, zwis­chen den Python-Versionen zu switchen.

Auch Edi­toren, wie der allmächtige [[Vim]] oder Kate bieten zwar grund­sät­zlich genug Funk­tion­al­itäten zum Pro­gram­mieren, sind aber den­noch irgend­wie unprak­tisch. So muss man immer zwis­chen Editoren-Fenster zum Aus­führungs­fen­ster des Scripts wechseln.

Lange Rede, kurzer Sinn, schließlich lan­dete ich bei Geany — einer kleinen, schnellen aber funk­tion­sre­ichen Entwick­lung­sumge­bung. Deren Plus­punkte sind u.a.:

  • [[Open Source]]
  • plat­tfor­müber­greifend vorhanden
  • kleines und schnelles aber doch mächtiges Programm
  • Syn­tax­high­light­ing, Code-Folding & –Vervollständigung
  • inte­gri­erte Kon­sole, die das Aus­führen der Scripte erle­ichtert, ohne das Pro­gramm ver­lassen zu müssen (VTE muss instal­liert sein)
  • Pro­gram­maus­führung per But­ton– oder Tastendruck
  • Tab­u­la­toren wer­den durch Leerze­ichen ersetzt (wichtig für Python, da ein Tab nicht entsprechend vie­len Leerze­ichen entspricht)
  • Auswahl des zu ver­wen­den­den Inter­pre­tors (python oder python3)
  • Erweit­er­barkeit durch Plugins

Mit Geany bin ich rund um zufrieden und würde es für alle Script-Programmierungen, bei denen man das Pro­gramm direkt aus­führen will, uneingeschränkt empfehlen. Für Weben­twick­lung etc. bleibe ich allerd­ings dann doch eher bei Net­beans. Unter Open­SUSE musste ich allerd­ings noch das Paket vte nachin­stal­lieren, um die virtuelle Kon­sole im Pro­gramm im Nach­hinein ver­füg­bar zu machen. Damit diese dann kom­plett unter­stützt wird, musste ich das [[Kon­fig­u­ra­tionsverze­ich­nis]] .geany aus meinem [[Benutzerverze­ich­nis]] löschen. Erst dann funk­tion­ierte sie uneingeschränkt. Für Ubuntu holte ich mir das [[dpkg|DEB-Paket]] direkt von getdeb.net, wo es in aktuell­ster Ver­sion 0.15 (Ubuntu-[[Paketquellen|Repos]]: 0.14) vorliegt.

Nach dem diese Vorüber­legun­gen & –arbeiten abgeschlossen sind, kann es endlich ans Eingemachte gehen.

Gen­er­a­tion Google oder Das Imperium schlägt zu viel vor

Um eine neue Pro­gram­mier­sprache zu erler­nen, ist es nicht ganz triv­ial, geeignete Quellen zu finden. Die Zeiten, wo man sich eine Ref­erenz von O’Reilly oder Addi­son Wes­ley aus dem Buch­laden seiner Wahl holen kon­nte und damit hin­re­ichend vernün­ftige Lit­er­atur hatte, sind lei­der vor­bei. Sicher­lich, ein Buch kann man sich immer noch kaufen, allerd­ings hinken die nicht sel­ten der Aktu­al­ität (siehe Python-Versionen) hin­ter­her. Eine Suche bei Google (ja, es ist ein Datenkrake, aber liefert immer noch die besten Tre­f­fer) ist da meist schneller, kostengün­stiger und auch in den Ergeb­nis­sen aktueller. Den­noch muss man bei der ange­bote­nen Infor­ma­tionsvielfalt diese fil­tern. Nicht alles, was im Inter­net zu finden ist, ist richtig oder manch­mal ein­fach nicht die beste Lösung für das eigene Problem.

Oft­mals kann man da ein­fach nur auf sein Glück ver­lassen, sich aus den richti­gen Quellen zu bedi­enen. Einen guten Anhalt­spunkt bieten da Ref­eren­zen, die von ver­schiede­nen (ern­stzunehmenden) Quellen immer wieder genannt wer­den. Dazu kann man wohl auch die Google-Treffer-Sortierung zählen, aber auch ein­schlägige Foren. Bei einer rel­a­tiv inten­siven Suche fand ich fol­gende Online-Quellen, die für mich in Bezug auf Python ganz gute Ergeb­nisse liefern:

Allen gemein ist, dass sie in Bezug auf Python 3 mit Vor­sicht zu genießen sind, was sich beson­ders bei den Code-Beispielen bemerk­bar macht. Nichts­destotrotz bieten sie, meiner Mei­n­ung nach, einen guten Ein­stieg und Überblick über Python. Beson­ders der Linux-User-Einsteigerkurs und vor allem A Byte of Python haben sich beson­ders her­vor­ge­tan — durch eine leicht ver­ständliche Erk­lärung der The­matik. Das Open­book auf Galileo Com­put­ing bietet zudem einen Überblick über die Neuerun­gen von Python 3. Dieser Ein­blick wird auf der englis­chsprachi­gen Ref­erenz vertieft.

Mit dem Werzeug und Infor­ma­tio­nen aus­gerüstet, geht es nun an die eigentlich Arbeit.

…to be continued

Geschrieben am 11.01.2009 von Sven in Aktuelles, Programmieren · 5 Kommentare
Weder Pings noch Kommentare sind erlaubt.

5 Komentare auf “Python — Die Ersten Schritte”

  1. apensiv sagt:

    Geany ist wirk­lich genial, benutze die Entwick­lung­sumge­bung selbst für Perl und Cpp-Skripte.
    Würde mich über weit­ere Stel­lungsnah­men zu Python freuen Wink

    • Sven sagt:

      …habe jetzt die ersten Scripte damit geschrieben und bin nach wie vor von der Unter­stützung und Hand­habung begeis­tert. Das Ganze gilt übrigens auch für Python unter Windows Evil

  2. Marco sagt:

    Hey Sven,
    ich kann die gedit als Edi­tor ans Herz legen. Auch sehr sim­pel und es gibt mehr und meiner Mei­n­ung nach bessere Plu­g­ins.
    Eine Bitte noch bericht­est du auch über die Erfahrun­gen mit UNO?

    Rock­ige Grüße,
    Marco

    • Sven sagt:

      Gedit als Edi­tor ist mir natür­lich nicht unbekannt. Wenn’s dann aber schon ein Edi­tor sein sollte, dann würde ich eher zum Vim oder Kate greifen. Als KDE-Nutzer nehm ich dann schon lieber dessen native Pro­gramme (kate) oder bleib gle­ich im Ter­mi­nal.
      Wenn ich die ersten UNO-Versuche (erfol­gre­ich) hin­ter mir habe, werde ich davon berichten. Bisher kam ich allerd­ings noch nicht bis zu dieser Stelle Smile

  3. shureg sagt:

    Gedit finde ich auch ganz nett und wie Marco schon gesagt hat, gibts ja auch schon rel­a­tiv viele Plu­g­ins.
    Wenn ich zwis­chen Eclipse und Net­beans wählen sollte, bevorzuge ich Eclipse. Aber ist ja auch Geschmackssache.
    Mit Python wollte ich mich auch mal auseinan­der­set­zen, also würde mich über weit­ere Beiträge freuenSmile


Diese Seite und ihr Inhalt unterliegen, sofern nicht anders gekennzeichnet, einer Creative Commons-Lizenz.
cclicense
top