Seite 1 von 2

Vorstellung meinerseits und Frage zu Python 3

Verfasst: Dienstag 17. Februar 2009, 13:06
von nice_coffee
Hi,

zuerst einmal will ich mich kurz vorstellen und einfach mal "Hallo" sagen, bevor ich hier mit meinen Problemen loslege, wobei ich davon eigentlich garnicht soviele zurzeit habe, zumindest noch nicht! :wink:

Also, ich arbeite seit 7 Jahren in einer kleinen feinen Agentur, mache alles rundums Netz (HTML, CSS, Javascript, bissel PHP und hier und da noch so ein paar andere Sachen[zb. Typo3]) und will seit langem mal Python lernen! Was mich bei Python sehr reizt ist der scheinbar sehr aufgeräumte Code! Habe auch schon ein wenig mit Python rumgemacht, wobei das schon fast übertrieben wäre es so hinzustellen... sagen wir es mal so, ich habe schonmal einen Blick draufgeworfen :shock:

Nun meine Frage oder auch Problem, wenn man es denn so nennen kann... Da ich ja Python "lernen/anwenden" möchte stellt sich mir die Frage mit welcher Version ich denn am besten anfangen sollte? Manch einer mag mir jetzt vielleicht sagen, ist doch klar, nimm die aktuellste 3.0.1 (wenn ich mich nicht irre), aber meine Erfahrung hat mir dann doch gezeigt, dass das aktuellste nicht immer das beste ist, vorallem nicht für Anfänger! Was würdet ihr sagen? Ist es besser erstmal mit 2.5.4 anzufangen? Dazu gibt es ja Unmengen mehr an Tutorials usw. oder aber ist das bei Python egal und die Sachen funktionieren auch unter Python 3? :?:

Was würdet ihr mir raten?

achja, wie kann ich meinen Benutzernamen ändern, bzw. kann das ein admin für mich machen? Bei mir im Namen fehlt am Schluss ein zweites "e" :roll:

Verfasst: Dienstag 17. Februar 2009, 13:34
von sma
Hallo nice_coffee,

die Python-Community folgt dem Motto Eile mit Weile und auch wenn es Python 3.x schon seit einer ganzen Weile gibt, wirst du kaum Bibliotheken finden, die damit zusammen funktionieren. Speziell wenn du etwas in Sachen Webentwicklung machen willst, wirst du mit Python 3.x leider nicht glücklich werden.

Du kannst allerdings ruhig Python 2.6 benutzen, das wird zumindest von Django unterstützt. Mit Python 2.5 fährt du in keinem Fall falsch. Eine noch ältere Version würde ich nicht empfehlen.

Übrigens: Pythons Syntax ist nur nur scheinbar sehr aufgeräumt, sondern auch anscheinend und IMHO sogar tatsächlich ;)

Viel Spaß mit Python.

Stefan

Verfasst: Dienstag 17. Februar 2009, 13:53
von CM
Hallo und willkommen im Forum,

möchte mich meinem Vorredner anschliessen und hinzufügen: Mit 2.6 gibt es ein Konversionstool. Wenn Du Dich also erst einmal richtig eingearbeitet und ein bißchen Code geschrieben hast, sollte Dir die Migration zu 3.0 nicht so schwer fallen. Du wirst also nichts verpassen. ;-)

Viel Erfolg mit Python und Spaß im Forum!

Gruß,
Christian

Verfasst: Dienstag 17. Februar 2009, 14:02
von nice_coffee
Hey Ho,

Danke schonmal für die echt schnelle Beantwortung meiner Frage :D

Dann bin ich ja mal gespannt und hoffe in Zukunft auch mal meinen Beitrag zum Forum leisten zu können, auch wenn es erstmal "nur" Python 2.5.4 sein wird :P

Verfasst: Dienstag 17. Februar 2009, 14:23
von hendrikS
Durchaus angenehm, dass sich hier jemand vorstellt.

Sonst wuerde ich persönlich auch eher zu 2.5.X oder 2.6.X raten.

3.0 ist noch nicht so sehr verbreitet. Und meiner Meinung nach sind viele hier noch abwartend oder zögerlich. Ich frage mich sowieso warum der Schritt notwendig war. Die bisherige kleine aber feine Updatestrategie fand ich besser und hat den meisten kaum weh getan. Ich werde wenn, dann so spät wie möglich umsteigen.

Verfasst: Dienstag 17. Februar 2009, 14:42
von DasIch
hendrikS hat geschrieben:Ich frage mich sowieso warum der Schritt notwendig war. Die bisherige kleine aber feine Updatestrategie fand ich besser und hat den meisten kaum weh getan. Ich werde wenn, dann so spät wie möglich umsteigen.
Es waren rückwärtsinkompatible Schritte notwendig und dann hat man halt die Chance genutzt und wirklich aufgeräumt, wenn ich mir eine stdlib die PEP 8 komplett einhält schon gewünscht hätte...

Ich würde definitiv zu Python 2.6 raten und darauf achten dass du 2to3.py nutzen kannst.

Verfasst: Dienstag 17. Februar 2009, 14:58
von helduel
Moin,

also ich werde Python3 so früh wie möglich unterstützen. Mir gefällt es, dass eine Sprache auch mal aufgeräumt wird. Wobei ich auch finde, dass mal etwas aggressiver hätte rangehen können. Was mir total auf den Zeiger geht ist, dass die ganzen assert-Methoden bei unittest immer noch camelCase sind. Da hätte ich mir wenigstens Aliase gewünscht (die gibt's da ja sowieso schon)... Aber sei's drum.

Gruß,
Manuel

Verfasst: Dienstag 17. Februar 2009, 16:20
von snafu
Ich persönlich nutze noch vorwiegend 2.5 (2.6 ist nebenher installiert) und fahre damit ganz gut. In der Linux-Welt (sprich: den aktuellen Releases) sollte 2.5-Code auch definitiv ausführbar sein, während es mit 2.6-Code zu Problemen kommen kann, da die Distris noch nicht umgestiegen sind (sollte es inzwischen Ausnahmen geben, so sind sie mir bisher nicht bekannt). Zudem werden auch die Module von Drittanbietern erst allmählich auf 2.6 umgestellt, was genau so zu Problemen führen kann und natürlich auch für Windows-User relevant ist. Ich weiß ehrlich gesagt nicht genau, wie weit man da derzeit ist.

Eigentlich ist das einzig für mich nervige an 2.5, ständig das vielgebrauchte with-Statement importieren zu müssen. Mit den anderen Vorteilen, die mir 2.6 bringen könnte, habe ich mich noch nicht wirklich auseinander gesetzt. Ich mache den Umstieg (d.h. ernsthafte Auseinandersetzung mit der neuen Syntax) wohl erst dann, wenn meine Distri umsteigt.

Für einen Neueinsteiger würde ich 2.6 empfehlen, sofern das mit den genutzten Modulen hinhaut - wirste ja merken. ;)

Verfasst: Dienstag 17. Februar 2009, 16:49
von DasIch
@snafu 2.6 ist zu 2.5 kompatibel.

Verfasst: Dienstag 17. Februar 2009, 17:17
von snafu
DasIch hat geschrieben:@snafu 2.6 ist zu 2.5 kompatibel.
100%-ig? Ich dachte immer, es kann mögliche Probleme geben, wenn man 2.6 mit 2.5-Modulen nutzt. Na, dann fällt dieser Grund natürlich weg.

Verfasst: Dienstag 17. Februar 2009, 18:16
von cofi
Ja, vollständig. Das einzige Problem sind die deprecated Meldungen ;)

Aber was Deployment angeht kann 2.6 durchaus Probleme machen - wenn man die neuen Module, Funktionen, usw nutzt - denn 2.6 hat sich auch noch nicht so recht durchgesetzt (Mac OS X, ...). Dazu kommt, dass recht viele Projekte noch keine vorkompilierten Pakete (Windows) für 2.6 anbieten.

Verfasst: Dienstag 17. Februar 2009, 21:55
von nice_coffee
Hi,

da bin ich nochmal... auf jeden Fall schonmal vielen lieben Dank an alle, die sich hier "gemeldet" haben! Jetzt stellt sich mir als Laie natürlich die Frage, was mach ich nun.... Python 3 habe ich erstmal abgehackt... denn ich denke um Python zu erlernen baue ich erstmal auf die "alten" Sachen auf die am meisten verbreitet sind... vorallem kann ich da wohl die meiste Unterstützung erwarten! Aber welches nun??? Python 2.6 oder 2.5.4? Wenn 2.6 generell ab- und scheinbar auch aufwärskompatibel ist, dann wäre dies denke ich die bessere Wahl, oder?

achja, ich bin ein Apple User, allerdings kein Jünger :wink:

Verfasst: Dienstag 17. Februar 2009, 23:03
von cofi
Ja mit 2.6 wirst du definitiv mehr Spass haben, es ist jedoch nicht wirklich aufwärtskompatibel, einfach, weil Python 3 ja mit allem bricht ;), hat aber in der Tat den Sinn Programmierer auf 3 vorzubereiten.

Um meinen vorherigen Beitrag mal in Richtung Mac OS X zu vertiefen: Damit meinte ich das System-Python, auf das Mac OS X aufsetzt, was aber eigentlich nur Probleme macht, wenn man mehrere User auf der selben Maschine mit einem neuen Python beglücken oder die eigenen Programme einfach an andere Mac OS X-User verteilen will.

Verfasst: Dienstag 17. Februar 2009, 23:50
von name
snafu hat geschrieben:(sollte es inzwischen Ausnahmen geben, so sind sie mir bisher nicht bekannt).
Archlinux.

Verfasst: Dienstag 17. Februar 2009, 23:58
von DasIch
Für Archlinux gilt dass schon seit Monaten, da wirds doch sicherlich noch andere Distris geben? :shock:

Verfasst: Mittwoch 18. Februar 2009, 00:07
von cofi
Für Gentoo gilt das auch. Zwar ist 2.6 aus dem Grund maskiert, dass wohl Pakete danach nicht mehr funktionieren sollen, aber man kann das gefahrlos demaskieren und umsteigen ... mir ist noch keines dieser "Pakete" untergekommen (ich frag mich auch, aus welchem Grund es solche geben sollte ...)

Verfasst: Mittwoch 18. Februar 2009, 00:12
von Darii
cofi hat geschrieben: (ich frag mich auch, aus welchem Grund es solche geben sollte ...)
Änderungen in der C-API. Numpy gibt es afaik noch nicht für 2.6

Verfasst: Mittwoch 18. Februar 2009, 01:52
von Leonidas
DasIch hat geschrieben:Für Archlinux gilt dass schon seit Monaten, da wirds doch sicherlich noch andere Distris geben? :shock:
Ich habe hier einen Python 2.6 Backport auf Debian Etch :P

Verfasst: Mittwoch 18. Februar 2009, 08:52
von sma
nice_coffee hat geschrieben:achja, ich bin ein Apple User, allerdings kein Jünger :wink:
Unter OS/X kannst du auch einfach mit dem mitgelieferten Python 2.5.1 arbeiten. Einziges Problem soweit: Das "lxml"-Paket lässt sich nicht übersetzen. Alternativ kannst du natürlich auch 2.6.1 von python.org installieren. Oder wenn du Macports installiert hast, hierüber Python 2.5 oder 2.6 installieren. Finde ich allerdings nicht so gut, da das einem erst einmal das komplette Internet auf die Platte zieht und z.B. X übersetzt. Ich verstehe nicht, warum alle darauf stehen, sich Quelltext selbst zu übersetzen. Dauert ewig und zieht eine Million Abhängigkeiten.

Ich würde empfehlen, per "easy_install" (das auf unter OS/X vorinstalliert ist) zunächst "virtualenv" zu installieren und dann für neue Projekte erst mit "virtualenv" eine neue Python-Umgebung aufzusetzen, in der du dann gefahrlos weitere Pakete installieren kannst, ohne dass du dir die System-Installation zerschießt. Willst du Macports benutzen, solltest du das passende virtualenv-Paket (für 2.5 oder 2.6, für 3.0 gibt funktioniert es (mal wieder) nicht) ebenfalls über Macports laden. Für easy_install muss man sich übrigens das Paket setuptools (in der 2.5 oder 2.6-Version) installieren.

Stefan

Verfasst: Mittwoch 18. Februar 2009, 09:28
von Darii
sma hat geschrieben:Unter OS/X kannst du auch einfach mit dem mitgelieferten Python 2.5.1 arbeiten. Einziges Problem soweit: Das "lxml"-Paket lässt sich nicht übersetzen.
Du brauchst doch einfach nur die Abhängigkeiten von lxml installieren.

Ichs habs über macports gemacht aber http://www.explain.com.au/oss/libxml2xslt.html sollte auch gehen