Domanda

Ho iniziato ad imparare Python scrivendo una piccola applicazione usando Python 3.1 e py-postgresql. Ora voglio trasformarlo in un'applicazione Web.

Ma sembra che la maggior parte dei framework come web-py, django, zope siano ancora basati su Python 2.x. Sfortunatamente py-postgresql non è compatibile con Python 2.x.

Devo riscrivere tutte le mie lezioni e sostituire py-postgresql con qualcosa supportato da web-py ecc., oppure esiste un framework compatibile con Python 3.1?

O forse py-postgresql è compatibile con 2.x ma non l'ho capito?

È stato utile?

Soluzione

Aggiornamento: questa risposta non è aggiornata nel 2011.

A meno che tu non sia interessato a tracciare una nuova traccia mentre cerchi di imparare Python, ti consiglio di convertire il tuo progetto in Python 2.x. Spero che il tuo codice non usi troppe funzioni py-postgresql non presenti nell'interfaccia API DB ampiamente supportata.

Dovresti guardare psycopg2 per un'interfaccia compatibile con DB-API Python 2.x o se vuoi andare di livello superiore SQLAlchemy che nella versione svn può usare psycopg2 o py-postgresql in modo intercambiabile.

Potresti anche essere interessato a 3to2 che converte automaticamente Python 3.x codice al codice Python 2.x quando possibile.

Duplicato di # 373945 Quali framework di sviluppo web supportano Python 3?

Altri suggerimenti

Ho appena scoperto WSGI: un'app compatibile con WSGI può anche essere scritta in Python 3.1. Il codice seguente funziona perfettamente in 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()

Il sito Web WSGI ha molti suggerimenti per i framework. Il Bottle framework rivendica " Bottle funziona con Python 2.5+ e 3.x (usando 2to3) " quindi ci proverò.

Ecco una versione semplificata del server WSGI di tornado implementata in python 3.

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

probabilmente ha alcuni bug, ma può iniziare

Anche se non è ancora stato ufficialmente rilasciato, attualmente sto 'giocando' con CherryPy 3.2.0rc1 con Python 3.1.1 e non ho ancora avuto problemi. Non l'ho usato con py-postgresql, ma non vedo perché non dovrebbe funzionare.

Spero che questo aiuti, Alan

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top