Hi, ich starte jetzt endlich mein Projekt Webshop. Der soll erstmal auf Python 2.6 laufen. Da aber Python 2.7 die letzte Version dieser "Reihe" sein soll, möchte ich das Programm gleich so gestalten, dass es mit schlimmstenfalls minimalen Änderungen auch ab Python 3 funktioniert.
Worauf kommt es da an? Was sollte man schon berücksichtigen? Was sollte man vermeiden?
Python 3 kompatibel entwickeln
Das lässt sich nicht kurz zusammenfassen ohne auf jeden Fall irgendetwas wichtiges zu vergessen. Konzeptionell sollte es egal sein, was die Implementation angeht, nicht. Ich persönlich würde so vorgehen, dass ich mir Gedanken darüber machen würde, welche Module ich benötige und dann die Doku beider Versionen vergleiche, um zu sehen, was sich da geändert hat.burli hat geschrieben:Hi, ich starte jetzt endlich mein Projekt Webshop. Der soll erstmal auf Python 2.6 laufen. Da aber Python 2.7 die letzte Version dieser "Reihe" sein soll, möchte ich das Programm gleich so gestalten, dass es mit schlimmstenfalls minimalen Änderungen auch ab Python 3 funktioniert.
Worauf kommt es da an? Was sollte man schon berücksichtigen? Was sollte man vermeiden?
Ich meine aber auch, die Empfehlung gelesen zu haben, so etwas eher gar nicht erst zu tun, weil es ab einer gewissen Komplexität ziemlich unübersichtlich wird und den Code auch nicht schöner macht, wenn man z.B. je nach Version Fallunterscheidungen einbauen muss.
Edit: Das letzte trifft natürlich nur zu, wenn der Code unter 2.x und 3.x laufen soll. Aber ich glaube, darum ging es dir gar nicht.
Zuletzt geändert von numerix am Freitag 22. Januar 2010, 14:05, insgesamt 1-mal geändert.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Du solltest am besten mit ``-3`` die Warnungen einschalten und dazu dann auch ``from __future__ import print_function, unicode_literals`` verwenden.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Genau, darum geht es nicht explizit. Ich möchte beim Wechsel au Python 3 nur nicht das halbe Programm neu schreiben müssen.numerix hat geschrieben:Edit: Das letzte trifft natürlich nur zu, wenn der Code unter 2.x und 3.x laufen soll. Aber ich glaube, darum ging es dir gar nicht.
@Leonidas: danke für den Tipp