Seite 1 von 1

Python 2 oder 3?

Verfasst: Donnerstag 19. Dezember 2013, 21:21
von manni330
Hallo,

nach ein paar Jahren "Python-Abstinenz" möchte ich nun endlich wieder programmieren.

Beruflich stehen kleinere technische Berechnungsprogramme an, einschließlich GUI (Tkinter). Aber auch sonst möchte ich wieder etwas mit Python herumprogrammieren.

Nun, obwohl bestimmt schon oft durchgekaut, frage ich: ist Python 3.x sinnvoll?

Viele Side-Packages gibt es immer noch nur für Python 2.x: PIL, wxPython, pyOpenGL, py2exe, usw. Und viele Programme wie Blender benutzen im Hintergrund noch Python 2.x, genauso wie Ubuntu 12.4.

Lohnt sich da trotzdem der Umstieg?

Gruß
Manni

Re: Python 2 oder 3?

Verfasst: Donnerstag 19. Dezember 2013, 21:29
von BlackJack
@manni330: Die Frage kannst Du für Dich nur selbst beantworten und bei den Kriterien weisst Du offensichtlich auch bescheid. Was erwartest Du denn jetzt als Antwort? Ich bleibe vorerst bei Python 2 und ich kann Dir fast garantieren das der nächste sagen wird er verwendet Python 3.

Edit: Blender verwendet AFAIK Python 3.

Re: Python 2 oder 3?

Verfasst: Donnerstag 19. Dezember 2013, 21:37
von manni330
Danke für die schnelle Antwort.

Nunja, ich dachte, vielleicht hat Python 3 irgendwelche unschlagbaren Vorteile, die ich bisher nicht erkannt habe. Oder ist Python 3 vielleicht eine Verschlimmbesserung wie WinVista oder Win8? Mit Python 3 habe ich mich nämlich noch nicht so viel beschäftigt.

Re: Python 2 oder 3?

Verfasst: Freitag 20. Dezember 2013, 07:07
von peddy
manni330 hat geschrieben:Oder ist Python 3 vielleicht eine Verschlimmbesserung wie WinVista oder Win8? Mit Python 3 habe ich mich nämlich noch nicht so viel beschäftigt.
Derartige Stimmen habe ich noch nicht gehört. Der Hauptgrund dürften fehlende Side-Packages sein.

Re: Python 2 oder 3?

Verfasst: Freitag 20. Dezember 2013, 10:55
von Leonidas
manni330 hat geschrieben:Viele Side-Packages gibt es immer noch nur für Python 2.x: PIL, wxPython, pyOpenGL, py2exe, usw. Und viele Programme wie Blender benutzen im Hintergrund noch Python 2.x, genauso wie Ubuntu 12.4.
PIL ist unmaintained, da würde man Pillow nutzen und das gibt es für Python 3. Und statt wxPython würde ich entweder ein GTK+-Binding oder ein Qt-Binding nutzen, von daher.

Re: Python 2 oder 3?

Verfasst: Freitag 20. Dezember 2013, 11:06
von snafu
@manni330: Du führst hier zwar nicht-kompatible Pakete an, nennst aber kein externes Paket, welches du für dein Projekt tatsächlich benötigst. Und so sollte man IMHO auch vorgehen: Man sollte sich die Frage stellen, ob das eigene Vorhaben zwingend Python 2.x benötigt. Falls nicht, dann würde ich Python-3-tauglichen Code empfehlen, der ``__future__``-Importe, sowie ggf das ``six``-Modul für eine Abwärtskompatibilität zu Python 2.x nutzt.

Re: Python 2 oder 3?

Verfasst: Freitag 20. Dezember 2013, 11:10
von BlackJack
Wobei meine Meinung zu Code der 2 und 3 unterstützt ist, dass er dass dann auch tatsächlich tun muss. Wenn man sich also `six` ins Boot holt, dann muss man auch den Mehraufwand betreiben das immer gegen 2 und 3 zu testen. Sonst macht es keinen Sinn.

Re: Python 2 oder 3?

Verfasst: Freitag 20. Dezember 2013, 16:08
von Leonidas
Dafür ist es ziemlich super dass es Services wie Travis-CI gibt, bei denen man unterstüzte Versionen der Runtimes angeben kann und die automatisch die Testsuite gegen alle Versionen ausführen.

Re: Python 2 oder 3?

Verfasst: Freitag 20. Dezember 2013, 16:40
von cofi
Mit tox gibt es auch noch eine Alternative ohne fremde Services.

Re: Python 2 oder 3?

Verfasst: Freitag 20. Dezember 2013, 22:14
von DasIch
Tox ist doch keine Alternative zu Travis, beide lösen recht unterschiedliche Probleme.

Re: Python 2 oder 3?

Verfasst: Samstag 21. Dezember 2013, 00:03
von cofi
Das schon, aber zu dem angesprochenen Problem, testen gegen verschiedene Python Versionen, kann man nunmal beide verwenden.