Ich habe Python seit einiger Zeit gelernt. Während ich dieses "Lern-Python" -Unterfangen begann, beschloss ich, die neueste und beste Version von Python 3.1 zu lernen. Ich bedauere diese Entscheidung jetzt, weil ich meine Hände auf einige der Python-Web-Entwicklung Frameworks versuchen wollte & es sieht aus wie viele von ihnen nicht unterstützen 3.1 noch & es sieht aus wie es könnte Jahre dauern, um die neue Version von Python insbesondere Django zu unterstützen und TurboGears. Das ist wirklich enttäuschend. Also, SO - Nutzer, haben Sie eine Empfehlung für ein Webframework für mich, das auf 3.1 läuft und einige der modernen (ich schätze, ich werde nie lernen ;-)) Web Framework Funktionen wie MVC/ORM/URL Routing/Caching etcPython Web-Entwicklungs-Framework für Python 3.1 Benutzer
.Antwort
Python 2.6 und Python 3.1 sind wirklich nicht so verschieden, ich schlage einfach vor, dass Sie beides lernen, besonders da beide Zweige von Python eine Zeit lang koexistieren ... also lernen Sie am besten die kleinen Unterschiede. Das Dokument "What's New in Python 3.0" erklärt die meisten Unterschiede zwischen 2.6 und 3.0.
Wie wäre es Python2.7 versuchen?, viele von Python 3.x Funktionen vor kurzem auf 2,7 zurückportiert, wie OrderedDict, schneller io-Module, Set Comprehensions, dict Comprehensions, etc ...
Und Python 2.7 läuft überhaupt kein problem mit django 1.2 trunk version meiner erfahrung nach.
Meiner Meinung nach braucht das Erlernen eines neuen Frameworks mehr Zeit als das Wechseln von Python2.x zu Python3.x, also wähle ein Framework und benutze einfach python 2.x und wechsle es zu 3.x wenn die Zeit gekommen ist .
Sehr richtig über den Unterschied in der Zeit, ein anderes Framework zu lernen, als von Python 2.x auf 3.x zu wechseln – Echo
Wie die anderen würde ich vorschlagen, dass Sie mit Python 2.6.x beginnen - Python 2.7 wird diesen Sommer veröffentlicht, obwohl Sie heute eine Alpha oder Beta-Version greifen können.
Obwohl Python 3.x ist rückwärts unvereinbar mit 2.x ist Python Syntax nicht unkenntlich sein würde ... so ziemlich alles ist auf 2.x sehr ähnlich, aber es ist einfach, den Code zu brechen, wenn print
ändert sich von einer Anweisung zu einer Funktion. Mach dir also keine Sorgen um Python 3. Wie andere bereits erwähnt haben, können Sie sofort mit vielen Web-Frameworks beginnen, die in Python 2.x funktionieren.
Auch, nur wegen der Nummerierung, nicht getäuscht werden in der Annahme, dass Python 2 in irgendeiner Weise veraltet ist, noch können Sie die Timeline seriell folgen. Mit anderen Worten, Python 2.7 ist neuer als Python 3.0 und 3.1. (3.2 wird nicht vor Ende dieses Jahres erscheinen.) Auch hier wurde Python 2 NICHT EOL'd - sowohl 2.x als auch 3.x werden aktiv entwickelt.
Die industrielle Welt läuft immer noch auf Python 2.x; Das Erscheinen von 3.x erinnert uns daran, dass die nächste Generation hier ist, und zu diesem Zeitpunkt sollten alle untergeordneten Infrastrukturen und Frameworks mit ihrer Portierung beginnen, damit wir alle irgendwann migrieren können.
Wenn Sie mehr über die Beziehungen zwischen Python 2, Python 3 und den Änderungen/Unterschieden zwischen den beiden sowie der Zeitleiste und Migration erfahren möchten, können Sie diesen Online-Artikel, den ich Anfang dieses Jahres schrieb, lesen:
„Python 3: Die Entwicklung einer Programmiersprache“
http://www.informit.com/articles/article.aspx?p=1328795
ich habe auch einen Vortrag zu diesem selben Thema bei PyCon im Februar 2010.Sie können das Video zugreifen und die Folie preso hier:
http://us.pycon.org/2010/conference/schedule/event/29/
Es ist (sind), eigentlich ein Django-Port Py3k.
ich auch ganz gut erinnern, kann auf der django-Entwickler-Mailingliste py3k, einen Thread zu einem Projekt der Universität von Portierung Django gelesen zu haben, aber ich kann den Faden im Moment nicht finden .
EDIT Oh hier ist es:
https://bitbucket.org/fiji/django-3k/
Das Projekt von Studenten der Universität von Toronto führen wird. :-)
EndEdit
Abfragen von so etwas wie "Django py3k Port" bringt einige nützliche Ergebnisse auf.
Schauen Sie auch bei diesen URLs:
CherryPy 3.2 (noch gearbeitet wird) wird
Flasche auf Python 3.x können auch laufen auf Python 3.x nach der Verwendung von 2to3 darauf. Einfach zu tun und es funktioniert. Bottle ist jedoch kein vollständiges Framework, sondern einfach zu verwenden.
Edit:
ich verwendet habe, Flasche in Python 3.1, 3.1 stackless Python für ein Spiel spezifisch zu sein, dass ich langsam arbeite. Aber bei der Arbeit benutze ich nur Python 2.6 und bald werde ich Webpy verwenden.
Die Seite, an der ich arbeite, ist in PHP, aber wenn ich ein neues Feature hinzufügen muss, das ich leicht von allen PHP-Code trennen kann, werde ich es in Python tun. Obwohl ich fast jeden Tag mit PHP arbeite und Python nur ein paar Mal im Monat benutze, kann ich Dinge in Python schneller erledigen als PHP :)
- 1. Python 3.1 RSS Parser?
- 2. Python 3.1 mit Pydev
- 3. Python 3.1 und MySQL?
- 4. Python 3.1 - Erstellen von Normalverteilung
- 5. Kann nichtich in Python 3.1
- 6. Was bedeutet das Prozentzeichen in Python? 3.1
- 7. Verwenden von Python 3.1 mit TextMate
- 8. Python 2.5 socket._fileobject ist was in Python 3.1?
- 9. Python 3.1 boolesche Prüfung mit for-Schleife
- 10. Eine portable (exe) mit Python 3.1 machen?
- 11. Neustart von Code in Python 3.1
- 12. Python 3.1: Syntaxfehler für alles! (Mac OS X)
- 13. Python - Passwort ändern für Benutzer in JunOS
- 14. Was ist das beste .NET-Webentwicklungsframework?
- 15. Ändern Benutzer in Python-Shell
- 16. Benutzer wählt Teilzeichenfolge in Python
- 17. Ausführen von Python 2.6 und 3.1 auf dem gleichen Computer
- 18. Zugriff auf die Zwischenablage in Python Version 3.1
- 19. unpicking Daten gebeizt in Python 2.5, in Python 3.1 dann Dekomprimieren mit zlib
- 20. ich zwischen Ereignisse wechseln will bindet in tkinter Python 3.1
- 21. So rufen Sie Attribute in Python 3.1 auf - einfach
- 22. Python 3.1 Probleme mit "Else:" in meinem Code
- 23. Python-Regex für Python-Funktionssignaturen
- 24. Pygame-Installation für Python 3.3
- 25. Kein IDLE für Python 3?
- 26. Wie stellt man Python für Windows Benutzer bereit?
- 27. Ermitteln der gültigen Berechtigungen für einen anderen Benutzer in Python
- 28. Python-Prompt für Benutzer mit Echo und Passwort ohne
- 29. Unit-Test für nur Root-Benutzer in Python
- 30. Wie installiert man Anaconda Python für alle Benutzer?
Ich denke das ist die gute Frage, obwohl ich dich für python2 vorschlüge. 7. +1 – YOU
Es wird kommen, aber ja, Webdev ist noch nicht in Py3k. Es ist enttäuschend und frustrierend; Wir haben noch nicht einmal einen WSGI-Standard, der noch funktioniert. – bobince