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
Python 2 oder 3?
@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.
Edit: Blender verwendet AFAIK Python 3.
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.
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.
Derartige Stimmen habe ich noch nicht gehört. Der Hauptgrund dürften fehlende Side-Packages sein.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.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
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.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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
@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.
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.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Mit tox gibt es auch noch eine Alternative ohne fremde Services.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Das schon, aber zu dem angesprochenen Problem, testen gegen verschiedene Python Versionen, kann man nunmal beide verwenden.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte