2010-04-02 20 views
10

He estado aprendiendo Python desde hace un tiempo. Al comenzar este esfuerzo de "aprender Python", decidí aprender la versión 3.1 más reciente y mejor de Python. Lamento esta decisión ahora porque quería probar algunos de los frameworks de desarrollo web de python & parece que muchos de ellos no son compatibles con 3.1 pero & parece que podría llevar años apoyar la nueva versión de Python especialmente Django y TurboGears. Esto es realmente decepcionante. Por lo tanto, SO usuarios, ¿tiene alguna recomendación para un marco web para mí que se ejecute en 3.1 y soporte algunas de las características modernas (supongo que nunca aprenderé ;-)) del marco web como MVC/ORM/URL Routing/Caching etc. .Python framework de desarrollo web para Python 3.1 usuario

+0

Creo que esta es la buena pregunta, aunque te estoy sugiriendo para python2. 7. +1 – YOU

+0

Aparecerá, pero sí, webdev aún no está en Py3k. Es decepcionante y frustrante; todavía no tenemos un estándar WSGI que funcione todavía. – bobince

Respuesta

1

Python 2.6 y Python 3.1 en realidad no son tan diferentes, simplemente sugiero que aprendan ambos, sobre todo porque ambas ramas de Python van a coexistir por un tiempo ... así que es mejor aprender las leves diferencias. El documento "What's New in Python 3.0" explica la mayoría de las diferencias entre 2.6 y 3.0.

5

¿Qué tal intentar Python2.7?, muchas de las características de Python 3.x están portado a 2,7 recientemente, como OrderedDict, módulos más rápido io, comprensiones conjunto, comprensiones de diccionario, etc ...

y Python 2.7 se está ejecutando no hay problema con la versión de tronco django 1.2 en mi experiencia.

En mi opinión, aprender nuevo framework tomará más tiempo que pasar de Python2.x a Python3.x, así que elija un framework, y simplemente siga usando python 2.x y cambie a 3.x cuando llegue el momento .

+1

Muy cierto sobre la diferencia en el tiempo para aprender un marco diferente frente al cambio de Python 2.xa 3.x – Echo

3

Como los demás, le sugiero que comience con Python 2.6.x - Python 2.7 se lanzará este verano, aunque puede obtener una versión alfa o beta hoy.

Aunque Python 3.x es al revés-incompatible con 2.x, la sintaxis de Python no va a ser irreconocibles ... casi todo es muy similar a la 2.x, pero es fácil de romper código cuando print cambia de una declaración a una función. Así que no te preocupes por Python 3 por ahora. Como han mencionado otros, puede comenzar de inmediato con muchos frameworks web que funcionan en Python 2.x.

Además, solo por la numeración, NO se deje engañar al pensar que Python 2 es obsoleto de ninguna manera ni puede seguir la línea de tiempo en serie. En otras palabras, Python 2.7 será más nuevo que Python 3.0 y 3.1. (3.2 no se lanzará hasta el final de este año.) Una vez más, Python 2 NO ha sido EFECTUADO, tanto 2.x como 3.x se están desarrollando activamente.

El mundo industrial todavía se ejecuta en Python 2.x; la apariencia de 3.x es un recordatorio de que la próxima generación está aquí, y este es el momento en que todas las infraestructuras y los marcos de nivel inferior deben comenzar su trabajo de migración de puertos para que todos finalmente migremos.

Si desea obtener más información sobre las relaciones entre Python 2, Python 3 y los cambios/diferencias entre ambos, así como la línea de tiempo y la migración, puede consultar este artículo en línea que escribí a principios de este año:

"Python 3: La evolución de un lenguaje de programación"
http://www.informit.com/articles/article.aspx?p=1328795

también di una charla sobre este mismo tema en PyCon 2010 en febrero.Se puede acceder al vídeo y el preso de diapositivas aquí:
http://us.pycon.org/2010/conference/schedule/event/29/

1

No es (es) en realidad un puerto Django para Py3k.

También recuerdo muy bien de haber leído un hilo sobre un proyecto de la Universidad de portar Django para py3k, en los desarrolladores de Django-lista de correo, pero no puedo encontrar el hilo en el momento .

EDITAR Oh aquí está:

https://bitbucket.org/fiji/django-3k/

El proyecto está dirigido por estudiantes de la Universidad de Toronto. :-)

EndEdit

Consulta para algo así como "puerto de Django py3k" trae a colación algunos resultados útiles.

También mirar estas URL:

2

CherryPy 3.2 (todavía se está trabajando) se ejecutará en Python 3.x

Botella También puede ejecutar en Python 3.x después de usar 2to3 en él. Fácil de hacer y funciona. Sin embargo, Bottle no es un "marco completo", pero es fácil de usar.

Editar: Botella

he utilizado en Python 3.1, sin apilado Python 3.1 Para ser más específicos, para un juego que poco a poco voy trabajando. Pero en el trabajo, solo estoy usando Python 2.6 y pronto usaré Webpy.

El sitio donde trabajo es en PHP, pero cuando necesito agregar una nueva característica, que puedo separar fácilmente de todo el código PHP, lo haré en python. A pesar de que trabajo con PHP casi todos los días y uso Python solo unas pocas veces al mes, todavía puedo hacer cosas más rápido en Python que PHP :)

Cuestiones relacionadas