marco web compatible con python 3.1 y py-postgresql
-
07-07-2019 - |
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í?
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