문제

Python 3.1 및 Py-PostgresQL을 사용하여 작은 응용 프로그램을 작성하여 Python을 배우기 시작했습니다. 이제 웹 응용 프로그램으로 바꾸고 싶습니다.

그러나 Web-Py, Django, Zope와 같은 대부분의 프레임 워크는 여전히 Python 2.x를 기반으로합니다. 불행히도 py-postgresql은 Python 2.x와 호환되지 않습니다.

모든 클래스를 다시 작성하고 py-postgresql을 웹 -Py 등으로 지원하는 것으로 바꿔야합니까, 아니면 Python 3.1과 호환되는 프레임 워크가 있습니까?

아니면 py-postgresql이 2.x와 호환 될 수 있지만 알아 내지 못했습니까?

도움이 되었습니까?

해결책

업데이트 :이 답변은 2011 년에 구식입니다.

파이썬을 배우려고 노력하면서 새로운 트레일을 타는 데 관심이 없다면 프로젝트를 Python 2.X로 변환하는 것이 좋습니다. 바라건대 코드가 너무 많이 사용되지 않기를 바랍니다 py-postgresql 널리 지원되는 DB-API 인터페이스에서는 찾을 수없는 기능입니다.

당신은 봐야합니다 psycopg2 Python 2.X DB-API 호환 인터페이스의 경우 또는 더 높은 수준으로 이동하려는 경우 SQLAlchemy SVN 릴리스에서 사용할 수 있습니다 psycopg2 또는 py-postgresql 상호 교환 적으로.

당신은 또한 관심이있을 수 있습니다 3to2 가능하면 Python 3.x 코드를 Python 2.x 코드로 자동 변환합니다.

복제 #373945 어떤 웹 개발 프레임 워크가 Python 3을 지원합니까?

다른 팁

방금 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 웹 사이트에는 프레임 워크에 대한 많은 포인터가 있습니다. 그만큼 병 프레임 워크 "병은 Python 2.5+ 및 3.x (2to3 사용)로 실행되므로 시도해 볼 것입니다.

다음은 Python 3에서 구현 된 Tornado의 WSGI 서버의 단순화 된 버전입니다.

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

아마도 몇 가지 버그가 있지만 시작할 수 있습니다.

아직 공식적으로 출시되지는 않았지만 현재 Python 3.1.1의 Cherrypy 3.2.0RC1과 함께 '놀고있다'고 아직 아무런 문제가 없었습니다. py-postgresql과 함께 사용하지는 않았지만 왜 작동하지 않아야하는지 모르겠습니다.

이것이 도움이되기를 바랍니다, 앨런

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top