sanic
Version 24.6.0
Sanic 是一个Python 3.8+ Web 服务器和 Web 框架,旨在快速运行。它允许使用 Python 3.5 中添加的async/await
语法,这使您的代码非阻塞且快速。
Sanic 还符合 ASGI 标准,因此您可以使用替代的 ASGI Web 服务器来部署它。
GitHub 上的源代码 |帮助和讨论区|用户指南 |在 Discord 上聊天
该项目由社区维护,为社区服务。欢迎贡献!
该项目的目标是提供一种简单的方法来启动和运行易于构建、扩展并最终扩展的高性能 HTTP 服务器。
查看 open Collective,了解有关帮助资助 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 或更高版本上运行,请确保您安装了redhat-rpm-config
软件包,以防您想使用带有ujson
依赖项的sanic
。
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 现在可以使用sanic hello.app
轻松运行。
[2018-12-30 11:37:41 +0200] [13564] [INFO] 快速@ 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 内容类型:application/json {“你好世界”}
现在,让我们快速构建一些东西!
最低 Python 版本为 3.8。如果您需要 Python 3.7 支持,请使用 v22.12LTS。
用户指南、变更日志和 API 文档可在 sanic.dev 找到。
提出问题或加入对话。
我们总是很高兴有新的贡献。我们已经标记了适合任何想要入门的人的问题,并欢迎在论坛上提问。请查看我们的贡献指南。