/ / Wie ist zu warten, wenn Django zu Python 3 wechselt? - Python, Django, Python-3.x

Wie wird gewartet, wenn Django zu Python 3 wechselt? - Python, Django, Python-3.x

Ich lerne gerade Python und hatte eine Frage zur Zukunft. Ich weiß, dass es derzeit nicht das Dringlichste ist, über das ich nachdenken muss, aber ich bin neugierig.

Derzeit unterstützt Django nur bis zu Python 2.7. In naher Zukunft wird jedoch Python 3 unterstützt. Was das Schreiben von Code in Python 2.7 und das verwandte Django-Framework betrifft, was passiert, wenn der Übergang zu Python 3 tatsächlich eintritt?

Vermutlich lernte und programmierte ich in der neueren Version. Was ist jedoch mit der Beibehaltung des alten Codes? Bleibt er so wie er ist? Muss er umgeschrieben werden?

Ich bin nur neugierig, wie diese Übergänge funktionieren. Macht es auch einen Unterschied, dass Python 3 nicht abwärtskompatibel ist? Was ist die Folge davon? Zum Beispiel habe ich gelesen, dass die Ruby-Versionen 1.8 bis 1.9 (und sogar die zukünftige 2.x) rückwärtskompatibel und weniger sind eines Sprunges (als Python 2.x auf 3.x) Ich frage mich, ob diese Aufteilung zwischen Python-Versionen Fragmentierungsprobleme oder Probleme mit der Codewartung verursacht?

Wenn also jemand versuchen könnte, mir zu erklären, was mit diesen Updates passiert und welche Probleme im Umgang damit bestehen, würde ich das wirklich schätzen. Danke!

Antworten:

3 für die Antwort № 1

... was passiert, wenn der Übergang zu Python 3 tatsächlich eintritt?

Nichts. Aus diesem Grund verwenden Sie in erster Linie ein Framework. Alles, was Sie dafür verantwortlich machen müssen, ist die geringe Menge Ihres Codes müssen portiert werden.


2 für die Antwort № 2

Django (aufgrund der immensen Menge an Code, die darauf läuft), wird zumindest in naher Zukunft die Unterstützung für 2.x nicht fallen lassen. Es macht einfach keinen Sinn.

Jeder Python 3 hat derzeit Probleme mit der Adoption. PyPy nimmt viel schneller auf.

Und es gibt py2to3, das einige Teile in Python 2-Code in Python 3 umwandelt, und den Rest müssen Sie dann von Hand erledigen.


1 für die Antwort № 3

Ihr alter Code muss nur von Ihnen neu geschrieben werdenfür diesen Code zu Python 3 wechseln. Bei langwierigen Projekten wird dies wahrscheinlich passieren, bei vielen anderen Projekten sterben und veraltet oder der Kunde wechselt zu einem anderen Unternehmen, um es zu warten.

Für den Code, der unter Python 3 ausgeführt werden mussSie müssen es portieren. Dies kann sehr einfach oder sehr schwierig sein, je nachdem, wie viel Sie sowohl Unicode- als auch Binärdaten verwenden und auf wie viele Python-Interna Sie sich verlassen.

Ich denke, dass das typische Django-Projekt recht einfach zu portieren ist.

Weitere Informationen zur Portierung finden Sie unter http://python3porting.com .