Pregunta

Empecé a aprender Python escribiendo una pequeña aplicación usando Python 3.1 y py-postgresql. Ahora quiero convertirlo en una aplicación web.

Pero parece que la mayoría de los frameworks como web-py, django, zope todavía se basan en Python 2.x. Lamentablemente, py-postgresql es incompatible con Python 2.x.

¿Tengo que reescribir todas mis clases y reemplazar py-postgresql con algo compatible con web-py, etc., o hay un marco compatible con Python 3.1?

¿O tal vez py-postgresql es compatible con 2.x pero no lo descubrí?

¿Fue útil?

Solución

Actualización: esta respuesta está desactualizada en 2011.

A menos que esté interesado en abrir un nuevo camino mientras intenta aprender Python, le recomiendo convertir su proyecto a Python 2.x. Esperemos que su código no use demasiadas funciones py-postgresql que no se encuentran en la interfaz DB-API ampliamente compatible.

Debería buscar en psycopg2 para obtener una interfaz compatible con Python 2.x DB-API o si desea ir a un nivel superior SQLAlchemy que en la versión svn puede usar psycopg2 o py-postgresql indistintamente.

También podría estar interesado en 3to2 que convierte automáticamente Python 3.x código para Python 2.x cuando sea posible.

Duplicado de # 373945 ¿Qué marcos de desarrollo web admiten Python 3?

Otros consejos

Acabo de enterarme de WSGI: una aplicación compatible con WSGI también se puede escribir en Python 3.1. El siguiente código funciona bien en Python 3.1:

def webapp(environment, start_response):
    start_response('200 OK', [('content-type', 'text/html')])
    return ['Hello, World!']

if __name__ == '__main__':
    from wsgiref import simple_server
    simple_server.make_server('', 8080, webapp).serve_forever()

El sitio web de WSGI tiene muchos punteros a marcos. El Framework Framework reclama " Bottle se ejecuta con Python 2.5+ y 3.x (usando 2to3) " así que lo intentaré.

Aquí hay una versión simplificada del servidor WSGI de tornado implementado en python 3.

http://code.activestate.com/recipes/576906/

probablemente tiene algunos errores, pero puede ayudarlo a comenzar

Aunque todavía no se ha lanzado oficialmente, actualmente estoy 'jugando' con CherryPy 3.2.0rc1 con Python 3.1.1 y todavía no he tenido problemas. No lo he usado con py-postgresql, pero no veo por qué no debería funcionar.

Espero que esto ayude, Alan

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top