веб-фреймворк, совместимый с python 3.1 и py-postgresql - PullRequest
1 голос
/ 14 сентября 2009

Я начал изучать Python, написав небольшое приложение на Python 3.1 и py-postgresql. Теперь я хочу превратить его в веб-приложение.

Но похоже, что большинство фреймворков, таких как web-py, django, zope, все еще основаны на Python 2.x. К сожалению, py-postgresql несовместим с Python 2.x.

Нужно ли переписывать все мои классы и заменять py-postgresql на что-то, поддерживаемое web-py и т. Д., Или есть ли фреймворк, совместимый с Python 3.1?

А может быть, py-postgresql совместим с 2.x, но я так и не понял?

Ответы [ 4 ]

3 голосов
/ 17 сентября 2009

Обновление: этот ответ устарел в 2011 году.

Если вы не заинтересованы в том, чтобы проложить новый путь, пытаясь вообще изучить Python, я бы порекомендовал преобразовать ваш проект в Python 2.x. Надеемся, что ваш код не использует слишком много py-postgresql функций, которых нет в широко поддерживаемом интерфейсе DB-API.

Вы должны посмотреть на psycopg2 для интерфейса, совместимого с DB-API Python 2.x, или если вы хотите перейти на более высокий уровень SQLAlchemy, который в выпуске svn может использовать psycopg2 или py-postgresql взаимозаменяемо.

Возможно, вас заинтересует 3to2 , который автоматически преобразует код Python 3.x в код Python 2.x, когда это возможно.

Дубликат # 373945 Какие платформы веб-разработки поддерживают Python 3?

1 голос
/ 18 сентября 2009

Я только что узнал о WSGI: совместимое с WSGI приложение также может быть написано на Python 3.1. Следующий код прекрасно работает в 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()

На сайте WSGI есть много ссылок на фреймворки. Фреймворк Bottle утверждает, что "Bottle работает с Python 2.5+ и 3.x (используя 2to3)", поэтому я попробую.

0 голосов
/ 20 декабря 2009

Несмотря на то, что он официально еще не выпущен, в настоящее время я «играюсь» с CherryPy 3.2.0rc1 с Python 3.1.1 и у меня еще не было проблем. Я не использовал его с py-postgresql, но я не понимаю, почему он не должен работать.

Надеюсь, это поможет, Alan

0 голосов
/ 19 сентября 2009

Вот упрощенная версия WSGI-сервера торнадо, реализованная в Python 3.

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

возможно, есть ошибки, но вы можете начать

...