Python 3.0 und alte Frameworks

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
deamon
User
Beiträge: 63
Registriert: Mittwoch 8. Oktober 2008, 11:14

Donnerstag 4. Dezember 2008, 17:14

Sind eigentlich Probleme zu erwarten, wenn man Frameworks verwendet, die für Python < 3.0 geschrieben wurden, aber man Python 3.0 verwendet? Wenn ich das richtig sehe, sind die zu erwarten. Aber das würde ja bedeuten, dass man Python 3.0 auf absehbare Zeit nicht produktiv einsetzen könnte, weil erst alle Framworks portiert werden müssten. Ist das so?
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Donnerstag 4. Dezember 2008, 17:27

Ja.

Projekte müssen zuerst nach Python 3 portiert werden. Man sollte keine Projekte schreiben, die für beide Versionen laufen. Allerdings ist's nich soooo unendlich schwer zu portieren. Python 2.6 installieren, Projekte mit -3 laufen lassen, alle Warnungen ausbessern und 2to3 laufen lassen... Natürlich kann es sehr doof sein, insbesondere wenn man ganz schlechten Code geschrieben hat :)
deamon
User
Beiträge: 63
Registriert: Mittwoch 8. Oktober 2008, 11:14

Donnerstag 4. Dezember 2008, 17:37

Ich bezog mich auf externe Bibliotheken wie meinetwegen CherryPy oder SQLAlchemy. Die müssen ja alle erst portiert werden, bevor man die mit Python 3 verwenden kann. So lange muss man wohl auch neue Projekte noch in Python 2.6 schreiben.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Donnerstag 4. Dezember 2008, 17:39

deamon hat geschrieben:Aber das würde ja bedeuten, dass man Python 3.0 auf absehbare Zeit nicht produktiv einsetzen könnte, weil erst alle Framworks portiert werden müssten. Ist das so?
Richtig.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Donnerstag 4. Dezember 2008, 19:06

Wobei "produktiv" ja immer eine sehr subjektive Sache ist. Wenn man außer der Standard-Lib nichts braucht, spricht ja nicht viel dagegen; außer dass es eben einer 3.0er ist ...
lunar

Donnerstag 4. Dezember 2008, 19:31

Wer kann schon produktiv mit der Standardbibliothek arbeiten? Für alles größere benötigt man früher oder später externe Bibliotheken ...

Wobei einige auch schon portiert sind, lxml ist z.B. seit Version 2.1 3k-kompatibel.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Donnerstag 4. Dezember 2008, 20:32

lunar hat geschrieben:Wer kann schon produktiv mit der Standardbibliothek arbeiten? Für alles größere benötigt man früher oder später externe Bibliotheken ...
Sicher! Aber manche Dinge sind ja eben durch aus auch Standalone. Und nen XML-Parser ist ja schon etwas, womit man so einiges machen kann in der Praxis.
farid
User
Beiträge: 95
Registriert: Mittwoch 8. Oktober 2008, 15:37

Freitag 5. Dezember 2008, 19:39

BlackVivi hat geschrieben:Projekte müssen zuerst nach Python 3 portiert werden.
Bei aktiven Projekten duerfte es nicht so lange dauern, besonders jetzt wo 3 auch offiziell released wurde. Probleme gibt's allenfalls bei verwaisten oder selten gepflegten Projekten. Da kann's eine ganze Weile dauern. Und auch bei Projekten, die an einer bestimmten Version von Python gekettet zu sein scheinen (Zope2 z.B.).

Der entscheidende Punkt duerfte sein, wie gut die neuliche Anpassung des SWIG-Backends auf die 3-er API in der Praxis sein wird.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Freitag 5. Dezember 2008, 19:46

farid hat geschrieben:Der entscheidende Punkt duerfte sein, wie gut die neuliche Anpassung des SWIG-Backends auf die 3-er API in der Praxis sein wird.
DIe C-API hat sich laut birkenfeld nicht sonderlich verändert, daher glaube ich nicht dass von der Seite besonders große Probleme zu erwarten sind. Zudem SWIG ja inzwischen auch nicht mehr so populär ist wie das früher mal der Fall war.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Samstag 6. Dezember 2008, 13:21

Tja, welches der Zillionen von Webrahmenwerken für Python bietet sich mir denn jetzt an, wenn ich Python 3 benutzen will? Nun wäre die Chance für jedes Rahmenwerk gekommen, meine Gunst zu gewinnen :)

Django hat sie verstreichen lassen. Da es keine externen Abhängigkeiten hat, wäre es eigentlich eine überschaubare Aufgabe. Da es aber mit diversen Tricks noch Kompatbilität bis 2.3 gewähren will, ist es aber offenbar auch nicht so einfach. Die Kernentwickler haben AFAIK bislang kein ernsthaftes Interesse gezeigt, Python 3 zu unterstützen.

Die Argumentation ist dabei immer die selbe: Die Bedeutung der Version ist ja noch zu gering, da es zu wenige User gibt. Aber natürlich gibt es wenige User, wenn die bekannten Bibliotheken nicht verfügbar sind. Irgendwer muss da mal den ersten Schritt gehen.

Der endlich zeitgemäße Einsatz von Unicode sollte doch vieles einfacher machen; ebenso das vereinfachte Objektsystem. Naja, mal abwarten...

Stefan
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Samstag 6. Dezember 2008, 23:54

Django ist eines der wenigen Frameworks, die (zumindest teilweise) portiert wurden: http://wiki.python.org/moin/PortingDjangoTo3k
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sonntag 7. Dezember 2008, 05:07

Persönlich benötige ich nur lxml was Py3k-kompatibel ist und pyparsing. Von dem her werde ich wohl mit meinem Web-Kram wohl bald auf 3.0 sein unc auf die anderen Leute die nocht 2.x nutzen müssen mit einem Grinsen gerabschauen ;)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Sonntag 7. Dezember 2008, 12:26

Weiß jemand, wie es bei werkzeug aussieht? Sind da schon PLäne in Richtung Py3k? Afaik käuft ja mod-wsgi schon auf Py3k, wäre also demnach für werkzeug schon ein Anreiz imho :-)
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Sonntag 7. Dezember 2008, 12:48

Mir ist es wichtig, zunächst 2.6 benutzen zu können. Das wird aber wohl nur in Debian (und damit Ubuntu) von 2.5 aktualisiert werden, wenn Debian Lenny released ist. Und so wie der Verlauf die letzten Wochen ausgesehen hat, kann das noch eine ganze Weile dauern.

Ein `python3'-Paket (mit 3.0b3) gibt es zwar in Ubuntu, aber noch nicht in Debian und nützt mir damit für meine öffentlichen Web-Apps nichts.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sonntag 7. Dezember 2008, 14:53

Hyperion hat geschrieben:Weiß jemand, wie es bei werkzeug aussieht? Sind da schon PLäne in Richtung Py3k?
Also so wie ich mitsuhiko verstanden habe wird es wohl in naher Zukunft keine Python 3-Version geben.

An dieser Stelle muss man zugeben, dass Django einen Vorteil hat, denn Django-User nutzen zu einem großen Teil eben nur Django und wenn Django auf 3.0 läuft dann sind sie fit für 3.0. Bei Pylons und Werkzeug muss man eben warten bis die Autoren der einzelnen Komponenten ihre Software migrieren oder eben auf etwas anderes umsteigen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Antworten