pycharm使用fastapi/uvicorn无法reload的问题

news2024/9/21 0:30:50

pycharm使用fastapi/uvicorn无法reload的问题

在这里插入图片描述

一、前言

1、解决方法

(1)控制台执行uvicorn指令

pycharm的问题,建议控制台直接输uvicorn main:app --reload,而不是在代码里 uvicorn.run() 运行

(2)将uvicorn版本降到0.20.0(推荐)

pip install uvicorn==0.20.0

2、原因探究

相关issue如下:
https://github.com/encode/uvicorn/issues/2000
https://youtrack.jetbrains.com/issue/PY-60962/os.killpid-signal.CRTLCEVENT-ignored-when-running-python-program-from-Pycharm
https://youtrack.jetbrains.com/issue/PY-63296/Pycharm-FastAPI-uvicorn-run-vs-terminal-differences-and-issue-with-slow-reloading-when-it-works
https://youtrack.jetbrains.com/issue/PY-63358

gpt省流(kimi)
问题概述:
在PyCharm中使用uvicorn和FastAPI时,重新加载(reload)功能无法正常工作。当文件发生修改时,uvicorn重新加载非常缓慢或根本不重新加载,导致开发体验不佳。

讨论和探讨:

  1. 用户在GitHub上提出了此问题,指出在Windows 10上使用PyCharm时,uvicorn的重新加载速度非常慢。
  2. 有用户发现uvicorn源代码中的basereload.py文件的restart()函数可能存在问题。
  3. 一些用户发现该问题只在通过PyCharm运行程序时出现,直接在Python中运行或终端中使用uvicorn命令时没有此问题。
  4. 问题的作者在PyCharm问题跟踪器上报告了此问题,并提供了一个简单的程序来重现该问题。
  5. 用户们提供了不同的解决方法,如在运行配置中启用"Emulate terminal in output console"选项、使用调试模式运行项目或在Docker环境中运行项目。

解决方案:

  1. 降级到uvicorn v0.20.0版本,重新加载功能可以立即生效。
  2. 在PyCharm的运行配置中启用"Emulate terminal in output console"选项,可以解决重新加载速度慢的问题。然而,这会导致ANSI转义序列无法正常渲染。
  3. 使用调试模式运行项目或在基于Docker的运行环境中运行项目也可以绕过该问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1994651.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

sharded_inference_engine:MLXDynamicShardInferenceEngine;step

目录 sharded_inference_engine:MLXDynamicShardInferenceEngine 类属性 方法 __init__(self) async def infer_prompt(self, shard: Shard, prompt: str, inference_state: Optional[str] = None) -> (np.ndarray, str, bool) async def infer_tensor(self, shard: …

小白零基础学数学建模系列-Day1-数学建模入门介绍

目录 第1天:数学建模入门介绍一、介绍数学建模的定义和重要性二、常见的数学建模方法概述三、确定问题和建立假设四、模型构建步骤及求解模型的方法五、模型的验证与检验的必要性 作业作业案例分析:实际问题:城市交通拥堵预测问题描述建模方案…

【大模型学习】多模态大模型进行偏好优化

一、简介 训练模型以理解并预测人类偏好是一项复杂的任务。传统方法如SFT(监督微调)通常需要较高的成本,因为这些算法需要对数据进行特定标签的标注。偏好优化(Preference Optimization)作为一种替代方案,…

云计算任务调度优化matlab仿真,对比蚁群优化和蛙跳优化

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 ACO蚁群优化 4.2 蛙跳优化 5.完整程序 1.程序功能描述 云计算任务调度优化,优化目标位任务消耗时间,调度后的经济效益以及设备功耗,对比蚁群优化算法和蛙跳优化…

【IEEE独立出版 | EI稳定检索】第三届人工智能、物联网和云计算技术国际会议(AIoTC 2024)

【IEEE独立出版 | EI稳定检索】 第三届人工智能、物联网和云计算技术国际会议(AIoTC 2024) 2024 3rd International Conference on Artificial Intelligence, Internet of Things and Cloud Computing Technology 2024年9月13-15日 | 中国武汉 AIoTC …

mysql 日志爆满,删除日志文件,定时清理日志

今天发现网站不能正常访问,于是登陆服务器查找问题。 机智的我随手用命令:df -l 发现 硬盘爆满了,于是就知道问题所在了。 Filesystem 1K-blocks Used Available Use% Mounted on/dev/xvda1 20641404 16963004 16929876 10…

使用 Elastic 和 Mistral 构建多语言 RAG(二)

这篇文章是之前的文章 “使用 Elastic 和 Mistral 构建多语言 RAG(一)” 的续篇。在这篇文章中,我将展示如何在本地部署中完成在那篇文章中的实现。 注意:由于 semantic text 从 8.15 版本开始提供,你需要至少 8.15 及…

Go框架选战:Gin、Echo、Fiber的终极较量

Gin 优点: 高性能: 优化以处理高并发和低延迟请求。易于上手: 对于熟悉 Go 的开发者来说,API 设计直观,学习曲线低。社区支持强: 广泛使用,有大量第三方中间件和教程。 缺点: 相比于其他框架如 Echo,Gin缺乏内置的验证支持Gin…

万字长文揭秘高性能架构

从零开始学架构系列文章: 从零开始学架构——概念和基础 从零开始学架构——万字长文揭秘高性能架构 从零开始学架构——高可用架构 从零开始学架构——可扩展架构 高性能存储 关系数据库 互联网业务兴起之后,海量用户加上海量数据的特点&#xff0…

无人机之民用无人机用途分类篇

一、航拍无人机 用于航拍摄影和电影制作,提供空中视角的拍摄服务。可用于电影制作、广告拍摄、房地产销售等。 二、物流无人机 用于快递和货物运输,提高物流效率,可以到达传统配送方式难以覆盖的地区,在突发事件如自然灾害、疫…

keepalived工作原理和使用方式

keepalived是什么 keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。 keepalived主要有三个模块 分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检…

怎么根据企业特点提供个性化的六西格玛培训?

近年来,六西格玛作为一种强大的质量管理方法,以其数据驱动、流程优化和减少缺陷为核心,被众多企业视为提升竞争力的关键工具。然而,并非所有企业都能直接套用标准的六西格玛培训体系,因为每个企业的文化、行业特性、发…

顺序队列和链式队列的基本操作

顺序队列 函数说明😃: InitStack( &s):初始化栈 StackEmpty(s):判断一个栈是否为空 Push(& s, x):进栈 Pop(&s, &x):出栈 GetTop(s,&x):读栈顶元素 show(s):读出…

Vue3项目框架搭建

前言 大多时候是在别人搭建好的项目上开发需求,突然要自己从新项目搭建开始,纯纯赶鸭子上架,参考一些项目,试着搭建的,记录一下历程,主要怕忘了。有些地方本该贴上代码截图更好,但是我此刻手头…

Vue引入使用iconfont字体图标

由于element-ui或element-plus提供的图标有时候并不能满足日常需求,所以这篇介绍一下前端引入阿里巴巴矢量图标库使用,不止是vue使用,不限于vue2、vue3,html或是其他框架也是同样的道理,只要引入都是同样可以使用的。 1. 首先进入阿里巴巴矢量图标库官网 官网:https://…

弱智吧:大模型变聪明,有我一份贡献【大模型VS弱智吧,谁聪明?谁弱智?】

「被门夹过的核桃,还能补脑吗?」 在中文网络上流传着这样一段话:弱智吧里没有弱智。 百度「弱智吧」是个神奇的地方,在这里人人都说自己是弱智,但大多聪明得有点过了头。最近几年,弱智吧的年度总结文章都可…

算法——决策树

简介:个人学习分享,如有错误,欢迎批评指正。 一、什么是决策树? 决策树(decision tree):决策树是一种树形结构的监督学习算法,广泛应用于分类任务和回归任务中。它通过递归地将数据…

豆瓣的ip地址怎样修改:探索显示机制与实用操作

在数字化时代,网络空间成为了我们日常生活不可或缺的一部分。豆瓣,作为一个集书籍、电影、音乐评论及社交功能于一体的综合性平台,其用户遍布全球。然而,有时我们可能因为隐私保护、网络限制或特定需求而希望修改在豆瓣上显示的IP…

【STM32 FreeRTOS】任务

使用 RTOS 的实时应用程序可以被构建为一组独立的任务。每个任务在自己的上下文中执行,不依赖于系统内的其他任务或 RTOS 调度器本身。在任何时间点,应用程序中只能执行一个任务,实时 RTOS 调度器负责决定所要执行的任务。因此, R…

Figure 02 机器人发布:未来AI的巅峰还是泡沫中的救命稻草?

引言 近日,Figure AI 公司发布了其最新的机器人产品 Figure 02,引发了广泛关注。作为 Figure AI 的第二代人形机器人,Figure 02 的推出引发了关于它是否是“地表最强”机器人的讨论。同时,由于 OpenAI 的技术支持,这款…