首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Python七号

    闪电侠 Uvicorn

    什么是 Uvicorn ? 答:Uvicorn 是基于 uvloop 和 httptools 构建的非常快速的 ASGI 服务器。 什么是 uvloop 和 httptools ? , }) 启动 Uvicorn $ uvicorn example:app 你也可以不使用命令行,直接运行你的脚本也是可以的,如下: import uvicorn async def app( ") 使用命令行时,你可以使用 uvicorn --help 来获取帮助。 在生产环境中,Guicorn 大概是最简单的方式来管理 Uvicorn 了,生产环境部署我们推荐使用 Guicorn 和 Uvicorn 的 worker 类: gunicorn example:app •为每个 uvicorn 进程使用 UNIX 套接字。

    2K20发布于 2020-11-25
  • 来自专栏自动化、性能测试

    FastAPI(3)- uvicorn.run()

    Uvicorn 基于 uvloop 和 httptools 构建的非常快速的 ASGI 服务器 它不是一个 Web 框架,而是一个服务器 例如,它不是一个提供路径路由的框架,这是 FastAPI 框架提供的东西 它是 Starlette 和 FastAPI 的推荐使用的服务器 总结 uvicorn 是运行 FastAPI 应用程序的主要 Web 服务器,uvicorn 和 Gunicorn 结合使用,拥有一个异步多进程服务器 FastAPI app = FastAPI() @app.get("/") async def root(): return {"message": "Hello World"} 启动 uvicorn 进到 py 文件所处目录下的命令行运行 uvicorn main:app 能不能不用命令行方式运行呢,否则太不方便了 可以! ", port=8080, reload=True, debug=True) 这样就不用敲命令行啦 uvicorn 有什么命令行参数,run() 方法就有什么参数 uvicorn 常用参数 参数 作用

    2.7K20发布于 2021-09-23
  • Ascend+FastAPI+ Uvicorn 实现推理

    Uvicorn Uvicorn 是一个基于 ASGI(Asynchronous Server Gateway Interface)的轻量级异步服务器,用于运行 Python Web 应用程序,特别是那些基于 以下是关于 Uvicorn 的详细介绍:基本功能异步支持:Uvicorn 是一个异步服务器,能够充分利用 Python 的异步编程特性。 高性能:Uvicorn 的性能非常出色,它能够快速地处理请求和响应,提供高吞吐量和低延迟的服务。 FastAPI + Uvicorn 的结合无缝集成:Uvicorn 与 FastAPI 结合使用非常方便。FastAPI 生成的 ASGI 应用可以直接由 Uvicorn 运行,无需额外的适配。 Nginx 可以处理静态文件、负载均衡、SSL/TLS 加密等任务,而 Uvicorn 专注于处理动态请求。

    69710编辑于 2025-01-20
  • 来自专栏PHP开发者那些事

    cenots7安装uvicorn时报错

    pip3 install uvicorn报错: uvloop/loop.c:20:20: 致命错误:Python.h:没有那个文件或目录 #include "Python.h" pip-build-qiwhtevf/uvloop/ 百度上搜了一圈,没有找到需要的答案,最后安装这个解决了: pip3 intall yum install python3-devel 再去执行pip3 install uvicorn

    1.3K50发布于 2020-06-23
  • 【Python系列】Gunicorn 和 Uvicorn区别

    Uvicorn 适合于现代的异步 Web 应用,特别是那些使用 FastAPI、Starlette 等异步框架的应用。 并发处理: Uvicorn 默认是单进程服务器,主要处理异步请求。 Gunicorn 可以生成多个工作进程,有效提高并发处理能力。 部署方式: Uvicorn 可能需要在生产环境中使用反向代理。 Gunicorn 适合直接服务 Web 应用。 可伸缩性: Uvicorn 在处理并发连接方面有一定的限制。 适应性: Uvicorn 可以通过适配器运行 WSGI 应用。 Gunicorn 专门设计用于 WSGI 应用。 Gunicorn 和 Uvicorn 各有优势,选择哪一个取决于你的应用需求和工作负载类型。Gunicorn 更适合传统的同步 Web 应用,而 Uvicorn 则是现代异步 Web 应用的最佳选择。

    1.9K10编辑于 2024-11-26
  • 来自专栏从零开始学自动化测试

    FastAPI学习- uvicorn设置 logger 日志格式

    前言 FastAPI 服务是通过 uvicorn 来提供的,日志都是 uvicorn 里配置的。 官方文档地址:https://www.uvicorn.org/settings/#logging uvicorn 的 logging 日志 我们可以通过 uvicorn.run() 方式启动服务 uvicorn.run 如果您希望在日志配置中使用YAML文件,则需要将PyYAML作为项目的依赖项,或者安装带有[标准]可选附加功能的uvicorn。 --log-level<str> 置日志级别。 LOGGING_CONFIG 日志默认格式 LOGGING_CONFIG 是uvicorn默认的日志配置 from uvicorn.config import LOGGING_CONFIG 找到源码里面的配置内容如下 /uvicorn_config.json" )

    4.6K10编辑于 2024-01-17
  • 来自专栏Kirin博客

    Django3.0+supervisor+uvicorn+nginx进行线上部署

    开门见山的说 最近一个项目使用了django3.0,那么没有道理不用一下asgi异步特性来玩一玩,部署的时候花费了一些力气,故留个笔记 uvicorn的使用 uvicorn采用了uvloop 用Cython 改写了python里面asyncio的时间循环, 将asyncio的效率提高了4倍以上 安装 pip3 install uvicorn 本地跑一下项目试一试 uvicorn myproject.asgi 表示项目正常运行 其它的参数请参照文档: https://www.uvicorn.org/settings/ 进程管理 用uvicorn部署了之后, 极高的提升了性能 但是在进程管理上就很麻烦 首先生产版本没有提供一个快速重启的接口 也没有优雅结束的功能 如果要结束服务,(特别是服务通过nohup等命令后台运行之后) 只能通过 ps -ef | grep uvicorn 查到进程id 然后通过 kill -9 process_id :* supervisorctl stop uvicorn:* supervisorctl restart uvicorn:* :*的作用是所有进程,.

    1.5K30发布于 2020-09-24
  • 来自专栏Lan小站

    uvicorn启动fastapi使用websocket报错Unsupported upgrade request

    原因:Uvicorn在新版本后[>= 0.12]有关,不会自动提供websocket实现。 解决:先卸载已有版本uvicorn:pip uninstall unicorn 重新安装指定版本pip install uvicorn [standard] 即可正常使用。

    1.8K10编辑于 2022-07-13
  • 来自专栏个人博客

    fastapi 和 uvicorn 设置监听 ipv6 - plus studio

    fastapi 和 uvicorn 设置监听 ipv6 启动程序时我们一般写的是 1 uvicorn.run(app, host="0.0.0.0", port=8000) 但是这样子启动的程序在纯 直接参考GitHub的一个讨论,最佳答案是这个 想要监听 ipv6 就写成 1 uvicorn.run(app, host="::", port=8000) 监听双栈写成 1 uvicorn.run(

    86010编辑于 2024-07-15
  • 【Python系列】FastAPI 与 Uvicorn:快速启动你的异步 Web 应用

    FastAPI 和 Uvicorn 的组合正是为了满足这一需求而诞生的。 Uvicorn 简介 Uvicorn 是一个异步 Web 服务器网关接口(ASGI)服务器,使用uvloop作为其事件循环,并且使用httptools作为其 HTTP 解析器。 Uvicorn 的主要特点包括: 轻量级:Uvicorn 是一个轻量级的 ASGI 服务器,易于集成和部署。 高性能:利用uvloop和httptools,Uvicorn 提供了出色的性能。 你还需要安装 FastAPI 和 Uvicorn。 使用 Uvicorn 启动 FastAPI 应用 现在,你可以通过 Uvicorn 来启动你的 FastAPI 应用。

    3.5K10编辑于 2024-11-26
  • 来自专栏自动化、性能测试

    FastAPI - 解决运行 uvicorn 报错 ImportError: email-validator is not installed, run `pip install pydantic[e

    str email: EmailStr full_name: Optional[str] = None 定义的 Pydantic Model 某个字段声明为 EmailStr 类型 运行 uvicorn

    1.6K10发布于 2021-09-26
  • 来自专栏Python七号

    为 FastAPI 配置日志的三种方法

    的日志 fastapi 其实是 uvicorn 驱动的,uvicorn 本身就会在终端输出信息: ❯ uvicorn main:app --host 0.0.0.0 --port 8081 INFO: INFO: Uvicorn running on http://0.0.0.0:8081 (Press CTRL+C to quit) 将这些信息记录到文件里就可以了,可以在 fastapi 第三种,配置 uvicorn 的日志 如果你是这种方法运行 FastApi: app = FastAPI() uvicorn.run(app, host="0.0.0.0", port=8000) 那么可以在代码里配置 uvicorn 的日志,然后在 run 函数里传入日志配置信息,就可以了: log_config = uvicorn.config.LOGGING_CONFIG log_config["formatters 最后的话 本文分享了 FastAPI 配置日志的三种方法,后两种其实是 uvicorn 配置并记录日志的方法。

    12.1K41编辑于 2022-05-24
  • 【Python系列】异步 Web 服务器

    Uvicorn 的起源与特点Uvicorn 是由 Tom Christie 创建的,他也是 Starlette 和 FastAPI 框架的作者。 Uvicorn 的主要特点包括:轻量级:Uvicorn 是一个轻量级的 ASGI 服务器,不需要额外的依赖,可以快速启动和运行。 跨平台:Uvicorn 可以在多种操作系统上运行,包括 Linux、macOS 和 Windows。图片Uvicorn 的安装与配置要使用 Uvicorn,首先需要安装它。 理解uvicorn.run函数uvicorn.run函数是 Uvicorn 提供的另一种启动服务器的方式,它允许你以编程方式启动服务器。这在你想要在代码中控制服务器的启动和关闭时非常有用。 Uvicorn 的高级特性Uvicorn 不仅仅是一个简单的服务器,它还提供了许多高级特性,如:日志记录:Uvicorn 提供了详细的日志记录功能,可以帮助你监控应用程序的状态和性能。

    72301编辑于 2024-11-27
  • 来自专栏从零开始学自动化测试

    FastAPI学习-30 项目代码中添加自己的日志内容

    前言 前面一篇【FastAPI学习-29 uvicorn 使用 log_config 参数设置 logger 日志格式 】已经学会了配置uvicorn 的日志。 配置logger 参考上一篇篇【FastAPI学习-29 uvicorn 使用 log_config 参数设置 logger 日志格式 】,默认loggers配置了3个:uvicornuvicorn.error 、uvicorn.access "loggers": { "fast": { "handlers": [ "default" ], "level" }, "uvicorn.error": { "level": "INFO" }, "uvicorn.access": { "handlers": [ 其它方法 还有个更简便的方法,直接从 uvicorn 导入 logger 实例, 这样就不用配置日志了。

    1.2K10编辑于 2024-01-17
  • 来自专栏AI篮球与生活

    API 接口开发也没那么难,Python FastAPI Web 框架教程来了!

    from fastapi import FastAPI app=FastAPI() if __name__ == '__main__': uvicorn.run(app) 服务器运行 添加接口 main import uvicorn from fastapi import FastAPI app=FastAPI() # 添加首页 @app.get("/") def index(): return "This is Home Page." if __name__ == '__main__': uvicorn.run(app) 重新运行项目 2.json数据 (app) 6.获取请求头参数 main.py import uvicorn from fastapi import FastAPI,Header app=FastAPI() @app.get( (app) 7.表单获取数据 安装包 python-multipart main.py import uvicorn from fastapi import FastAPI,Header,Form

    5.8K30编辑于 2023-03-01
  • 来自专栏杂七杂八

    fast api 学习记录-start

    选择适合的开发环境一个舒适的开发环境:pip install fastapi[all]这将安装所有的可能需要的开发文件一个最小的开发环境:pip install fastapipip install uvicorn 这将安装fast api去进行开发,uvicorn作为服务器去运行----编写简单的逻辑简单的服务:# main.pyfrom fastapi import FastAPIapp = FastAPI() 将它运行起来方法1-使用terminal命令:uvicorn main:app --reload方法2-使用代码:if __name__ == "__main__": import uvicorn uvicorn.run(app="main:app",host="127.0.0.1", port=8000, reload=True)----展示现在打开网址:http://127.0.0.1

    36520编辑于 2023-09-12
  • 来自专栏python3

    FastAPI--路由(2)

    import uvicorn from fastapi import FastAPI app = FastAPI() @app.post("/") @app.put("/") @app.delete https://www.jianshu.com/p/94710ed35b92 代码如下: import uvicorn from fastapi import FastAPI app = FastAPI 然后就是和bottle(微型Web框架)一样也可以对传入的参数进行数据验证的定义: 如: import uvicorn from fastapi import FastAPI app = FastAPI 返回的HTTP状态码为422 关于路由覆盖问题: 如下两个路由地址: import uvicorn from fastapi import FastAPI app = FastAPI() @app.get import uvicorn from fastapi import FastAPI app = FastAPI() fake_items_db = [{"item_name": "Foo"}, {

    2.5K20发布于 2020-06-22
  • 来自专栏python3

    FastAPI--参数提交Request Body(3)

    对于如何接收和校验请求体,FastApi提供的形式是使用:from pydantic import BaseModel 示例如下: import uvicorn from fastapi import  示例代码如: import uvicorn from fastapi import FastAPI, Path from pydantic import BaseModel app = FastAPI import uvicorn from fastapi import FastAPI, Path from pydantic import BaseModel app = FastAPI() class import uvicorn from fastapi import Body, FastAPI from pydantic import BaseModel app = FastAPI() class 所以我还可以使用其他类型来校验: import uvicorn from datetime import datetime, time, timedelta from uuid import UUID

    3.1K100发布于 2020-06-23
  • 来自专栏软件测试学习

    FastAPI-环境搭建以及第一个demo

    : pip install uvicorn 按照官方文档的话 ,安装最少依赖的话,可以用下面的命令: pip install "uvicorn[standard]" 官方文档链接: https:// (): return {"message":"Hello world,welcome to view 小博测试成长之路"} # 启动uvicorn服务,默认端口8000 if __name_ uvicorn.run('myapi:api'):冒号前面的myapi对应的是py文件名,冒号后面的api对应的是FastAPI() 的实例名。 ,可以加一个--reload参数,即:uvicorn myapi:api --reload ,这样的话,在代码里面加一个方法之后,就可以立刻看到效果。 如果是不用命令行运行的话,那就可以用uvicorn.run: if __name__ == '__main__': uvicorn.run('myapi:api',reload=True,port

    1.6K50编辑于 2022-12-02
  • 来自专栏码字搬砖

    关于 FastAPI 路径参数,你知道多少?

    say_hello(name: str): return {"message": f"Hello {name}"} if __name__ == "__main__": import uvicorn uvicorn.run("quickstart.demo:app",reload=True,port=8001) 路径操作装饰器 @app.get("/hello/{name}") 中 name uvicorn.run("quickstart.demo:app",reload=True,port=8001) 如果我们运行示例并访问 http://127.0.0.1:8001/items uvicorn.run("quickstart.demo:app",reload=True,port=8001) 如果我们运行示例并访问 http://127.0.0.1:8001/items uvicorn.run("quickstart.demo:app",reload=True,port=8001) 如果我们运行示例并访问 http://127.0.0.1:8001/items

    46710编辑于 2025-05-16
领券