Sanic은 빠르게 작동하도록 작성된 Python 3.8+ 웹 서버 및 웹 프레임워크입니다. Python 3.5에 추가된 async/await
구문을 사용할 수 있으므로 코드가 차단되지 않고 속도가 빨라집니다.
Sanic은 ASGI와도 호환되므로 대체 ASGI 웹 서버를 사용하여 배포할 수 있습니다.
GitHub의 소스 코드 | 도움말 및 토론 게시판 | 사용자 가이드 | Discord에서 채팅하기
프로젝트는 커뮤니티에 의해, 커뮤니티를 위해 유지됩니다. 기여를 환영합니다!
프로젝트의 목표는 쉽게 구축하고 확장하고 궁극적으로 확장할 수 있는 고성능 HTTP 서버를 시작하고 실행할 수 있는 간단한 방법을 제공하는 것입니다.
Sanic 자금 지원에 대한 자세한 내용은 공개 집단을 확인하세요.
pip3 install sanic
Sanic은 성능 향상을 위해
uvloop
및ujson
을 사용합니다. 해당 패키지를 사용하지 않으려면 설치 시 환경 변수SANIC_NO_UVLOOP=true
또는SANIC_NO_UJSON=true
추가하기만 하면 됩니다.$ 내보내기 SANIC_NO_UVLOOP=true $ 내보내기 SANIC_NO_UJSON=true $ pip3 install --no-binary :all: sanic
메모
Fedora 28 이상을 새로 설치하여 실행 중인 경우 ujson
종속성과 함께 sanic
사용하려는 경우를 대비하여 redhat-rpm-config
패키지가 설치되어 있는지 확인하십시오.
from sanic import Sanicfrom sanic.response import jsonapp = Sanic("my-hello-world-app")@app.route('/')async def test(request):return json({'hello': 'world'} )if __name__ == '__main__':app.run()
이제 sanic hello.app
사용하여 Sanic을 쉽게 실행할 수 있습니다.
[2018-12-30 11:37:41 +0200] [13564] [INFO] Goin' Fast @ http://127.0.0.1:8000 [2018-12-30 11:37:41 +0200] [13564] [INFO] 일꾼 시작 [13564]
그리고 작동하는지 확인할 수 있습니다: curl localhost:8000 -i
HTTP/1.1 200 확인 연결: 연결 유지 연결 유지: 5 콘텐츠 길이: 17 콘텐츠 유형: 애플리케이션/json {"안녕하세요":"세계"}
이제 빠르게 뭔가를 만들어 봅시다!
최소 Python 버전은 3.8입니다. Python 3.7 지원이 필요한 경우 v22.12LTS를 사용하세요.
사용자 가이드, 변경 로그 및 API 문서는 sanic.dev에서 찾을 수 있습니다.
질문을 하거나 대화에 참여하세요.
우리는 항상 새로운 기여를 하게 되어 기쁩니다. 우리는 시작하려는 모든 사람에게 적합한 문제를 표시했으며 포럼에 질문을 환영합니다. 기여 가이드라인을 살펴보시기 바랍니다.