2010-08-13 7 views
24

파이썬/WSGI 재난 문제가 곧 해결 될 것으로 나는 더 이상 여길 수 없다는 결론을 내 렸습니다. 따라서 앞으로 나아갈 준비가 필요합니다. 파이썬 3에서 웹 게이트웨이 인터페이스

불행하게도, 내 사용할 수있는 옵션은 훨씬 더 나은하지 않는 것 : 나는 웹에 흩어져 FastCGI를위한 몇 가지 다른 파이썬 모듈, 그들 중 누구도 찾을 동안

  • 많이 받고있는 것으로 보인다 (있는 경우)주의 및/또는 유지 보수, 특히 파이썬 3.x에 대한 관심 및/또는 유지 보수가 있으며, 실제로 어떤 것이 실용 가능한지 구별하기가 어렵습니다.
  • 빌트인 CGI 모듈로 완전히 떨어지는 것은 처음부터 무언가를 직접 만드는 것보다 나을 것입니다 (더 나쁜 것은 파이썬 3.3까지주의를 끌지 못하는 중요한 버그 또는 두 가지가 있습니다).
  • 프로덕션 웹 응용 프로그램에서 HTTP를 직접 처리하는 것보다 더 큰 죄가 없습니다. 그리고 어쨌든, 그것은 입니다. 여전히 바퀴를 재발 명합니다.

확실하게 누군가 생산 중에 3.x에서 웹 응용 프로그램을 배포하고 있습니다. 어떤 게이트웨이/모듈 인터페이스를 사용하고 있습니까? 그 이유는 무엇입니까?

+0

파이썬 3 포트가있는 큰 이름 (Django, Twisted, Zope)은 아직 알지 못합니다. 그러나 이것은 유용한 질문입니다. –

+0

@Wayne : 글쎄, "웹 앱"이라고 말하지만 나는 현재 웹 기반 API (특히 현재 프로젝트의 SOAP, ick)에 초점을 맞추고있다. 따라서 제 3 자 프레임 워크에 대한 의존도가 낮고 현재 코드가 WSGI 레이어 바로 아래에 있습니다. –

+0

글쎄, 나는 파이썬 3을 WSGI와 함께 사용하지 않았기 때문에 언급 한 문제에 익숙하지 않다. 이 목적으로 Python3을 사용하는 이유는 무엇입니까 (얼리 어답터가되고 싶다는 것만 제외하면)? –

답변

2

CherryPy 3.2 릴리스 후보는 Python 3.X를 지원합니다. 전체 스택이 아닌 웹 서버 인터페이스 계층에서만 WSGI를 지원하기 때문에 WSGI가 변경 될지 여부는 문제에서 격리됩니다. CherryPy는 내부 WSGI 서버를 가지고 있지만 Apache/mod_wsgi에서 Python 3.1 이상을 실행할 수도 있습니다. 참조 :

http://www.cherrypy.org/wiki/WhatsNewIn32 http://code.google.com/p/modwsgi/wiki/SupportForPython3X

+3

나는 세상에서 존경심을 표한다. 그러나이 대답은 기본적으로 필자가 사용하지 않는 복잡한 프레임 워크의 시험판 버전에 대한 의존성을 추가 할 것을 제안한다. WSGI (나는 처음부터 필요하지 않아야 할 것이 었습니다)로부터 자신을 "단절"시키는 것입니다. 그것은 매우 불만족 스럽습니다. 다른 대답이 없다는 점을 감안할 때 FastCGI 래퍼 중 하나를 채택/유지 관리하고 직접 유지 관리하는 것이 현 시점에서 가장 비즈니스 가능 옵션입니다. : –

+1

당신이 물어 보았던대로 옵션을 제공 할뿐입니다. 그 버전의 CherryPy 문서 페이지를 보면, FASTCGI 지원이 개선되었다는 것을 언급합니다. 내가 읽은 방식은 WSGI 용 FASTCGI 어댑터를 사용하고 있다는 것입니다. 또한 Python 3.X에서도 실행됩니다. CherryPy는 Pyyhon 3.X에서 실행할 수있는 방법을 찾기 위해 노력하는 유일한 중요한 프레임 워크이므로 확실하게 뭔가를 배울 수 있습니다. 내가 알고있는 유일한 Python 프레임 워크 그게 파이썬 3.X에서 작동한다고 주장하는 것은 Bottle이지만 WSGI에서만 작동하고 Apache/mod_wsgi에도 의존합니다 .. –

+0

그레이엄과 다른 많은 논평가들과 동의합니다 : 1. 파이썬 3, 당신은 얼리 어답터입니다. 2. CherryPy는 좋은 해결책입니다. 3. 사람들은 글을 써서는 안됩니다. 웹 애플 리케이션을위한 비 프레임 워크 파이썬. 프레임 워크 만 WSGI 레벨에 있어야합니다. –

1

병 파이썬 3 지원하지만 깨진 다음 stdlib에서 겪고있다. 그러나 multipart는 cgi.FieldStorage를 다시 구현하고 병과 함께 사용하여 Python 3 WSGI 웹 응용 프로그램을 만들 수 있습니다. 방금 demo을 발행했습니다. 잠시 동안은 테스트 일 뿐이지 만 제대로 작동한다는 것을 알 수 있습니다.

관련 문제