Pergunta

Eu comecei a aprender Python, escrevendo um pequeno aplicativo usando Python 3.1 e py-postgresql. Agora eu quero transformá-lo em uma aplicação web.

Mas parece que a maioria das estruturas, como web-py, Django, Zope ainda são baseadas em Python 2.x. Infelizmente py-postgresql é incompatível com o Python 2.x.

Eu tenho que reescrever todas as minhas aulas e substituí-py-postgresql com algo apoiado por web-py etc., ou há um quadro compatível com Python 3.1?

Ou talvez py-postgresql é compatível com 2.x, mas eu não descobrir isso?

Foi útil?

Solução

Update:. Esta resposta está desatualizado em 2011

A menos que você está interessado em chamas um novo caminho ao tentar aprender Python em tudo, eu recomendo converter seu projeto para Python 2.x. Esperemos que o seu código não usa muitos py-postgresql características não encontradas na interface DB-API amplamente suportado.

Você deve olhar para psycopg2 para uma interface compatível DB-API Python 2.x ou se você quiser ir de nível superior SQLAlchemy , que na versão SVN pode usar psycopg2 ou py-postgresql alternadamente.

Você pode também estar interessado em 3to2 que converte automaticamente Python 3.x código ao código 2.x do Python, quando possível.

Duplicate de # 373945 O web frameworks de desenvolvimento apoiar Python 3?

Outras dicas

Eu só descobri sobre WSGI: um aplicativo compatível com WSGI também pode ser escrito em Python 3.1. O código a seguir funciona muito bem em 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()

O site WSGI tem lotes de ponteiros para estruturas. A quadro Garrafa reivindicações "corridas de garrafa com Python 2.5+ e 3.x (usando 2to3)" por isso vou dar que uma tentativa.

Aqui está uma versão simplificada do servidor WSGI do tornado implementado em python 3.

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

provavelmente tem alguns bugs, mas pode começar

Mesmo que ele não é lançado oficialmente ainda, eu estou atualmente 'brincar' com CherryPy 3.2.0rc1 com Python 3.1.1 e não tiveram problemas ainda. Não usei-o com py-postgresql, mas eu não vejo por que ele não deve trabalho.

Espero que isso ajude, Alan

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top