PyCharm如何设置代码修改后自动重新运行

夏萱小哥_5930

夏萱小哥_5930

2026-08-10

727人浏览

原创

pycharm中--reload不生效,是因为直接点击绿色三角按钮运行main.py会绕过uvicorn启动逻辑,导致热重载未触发;必须配置run configuration,指定uvicorn为脚本路径,并设置参数为main:app --reload,工作目录为项目根目录,且python解释器需匹配虚拟环境。

pycharm如何设置代码修改后自动重新运行

PyCharm里--reload不生效,是因为没走uvicorn命令

直接点绿色三角按钮运行 FastAPI 项目,默认用的是 PyCharm 自带的 Python 解释器执行 main.py,而不是调用 uvicorn。所以加了 --reload 参数也没用——根本没进 uvicorn 的热重载逻辑。

常见错误现象:
改完代码保存,浏览器刷新还是旧结果;终端没打印 INFO: StatReload detected changes in 'main.py';PyCharm 控制台输出里压根没出现 uvicorn 启动日志。

  • 必须显式配置 Run Configuration,把脚本路径设为 uvicorn 可执行文件(不是你的 main.py)
  • Program arguments 填 main:app --reload(注意冒号和空格)
  • Working directory 设为项目根目录(确保能 import 到 main 模块)
  • Python interpreter 要选对——比如用 conda 环境,就别误选系统 Python 或 pythonw.exe

为什么不用 PyCharm 内置的 “Run with Python Console” 或右键 Run

这些方式本质是执行 python main.py,哪怕你代码里写了 uvicorn.run(...),也绕不开 Python 进程重启机制。它不会监听文件变化,也不会触发 ASGI server 的 reload loop。

典型场景:
你在 main.py 里写 if __name__ == "__main__": uvicorn.run("main:app", reload=True) ——这看似可行,但 PyCharm 默认运行模式下,__name__ 是 "__main__",却因环境隔离或启动方式差异,导致 reload=True 被忽略或静默失败。

  • 不要依赖脚本内 uvicorn.run() + reload=True 实现热重载
  • 避免用 Run 'main'(右键菜单里带文件名的那个)
  • 不推荐靠 PyCharm 的 “Modify option to restart process on file change”(该选项对 ASGI 应用无效)

替代方案:Reloadium 插件真能热重载函数级改动?

Reloadium 不是万能的。它能在调试时替换单个函数体、重载模块,但对 FastAPI 的路由注册、依赖注入、中间件等运行时结构改动往往失效——因为这些逻辑在 app 初始化阶段就固化了。

PyCharm 2026.2
PyCharm 2026.2

PyCharm 2026.2是 JetBrains PyCharm 的指定版本安装包,下载地址指向官方 Windows 安装包直链,可用于旧项目兼容、版本回退和环境测试。

下载

使用场景有限:
适合改一个计算函数、调整某个工具方法的返回值;不适合改 @app.get("/user") 装饰器下的 handler、增删依赖参数、修改 Pydantic model 定义。

  • 安装后需重启 PyCharm,且只对 Debug 模式生效(Run 模式不触发)
  • 遇到 ImportError 或 AttributeError 时会 fallback 到完整重启
  • 它无法替代 uvicorn --reload 对整个 ASGI 生命周期的控制

最稳的实操路径:Terminal 里跑 uvicorn main:app --reload

这是 FastAPI 官方推荐方式,也是目前唯一能覆盖全部变更类型的方案——包括新增路由、改模板路径、更新静态文件映射等。

注意点:
PyCharm Terminal 默认工作目录常是项目根目录,但若你打开了子文件夹里的 main.py,终端 pwd 可能不对;--reload 默认只监控 .py 和 .toml 文件,如需监听 .jinja2 或 .yaml,得加 --reload-dir 参数。

  • 终端命令:进入项目根目录后执行 uvicorn main:app --reload --host 0.0.0.0 --port 8000
  • 改完代码后,Ctrl+S → 浏览器刷新,延迟通常在 300ms 内
  • 如果提示 Address already in use,先 kill -9 $(lsof -ti:8000)(macOS/Linux)或任务管理器杀掉进程
  • Windows 用户注意:PowerShell 默认禁用脚本执行策略,建议用 Git Bash 或 CMD

真正容易被忽略的是工作目录和模块导入路径——main:app 要求 main.py 在 Python path 里可 import,而 PyCharm 的 Run Configuration 有时会把 cwd 设错,导致 ModuleNotFoundError。终端方式反而更透明,出错一眼就能看出缺什么。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
pycharm怎么改成中文
pycharm怎么改成中文

PyCharm是一种Python IDE(Integrated Development Environment,集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。php中文网给大家带来了pycharm相关的教程以及文章,欢迎大家前来学习和阅读。

2023.07.25

2569

3

pycharm安装教程
pycharm安装教程

PyCharm是一款由JetBrains开发的Python集成开发环境(IDE),它提供了许多方便的功能和工具。本专题为大家带来pycharm安装教程,帮助大家解决问题。

2023.08.21

4797

4

如何解决pycharm找不到模块
如何解决pycharm找不到模块

解决pycharm找不到模块的方法:1、检查python解释器;2、安装缺失的模块;3、检查项目结构;4、检查系统路径;5、使用虚拟环境;6、重启PyCharm或电脑。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.04

738

5

如何安装pycharm
如何安装pycharm

安装pycharm的步骤:1、访问PyCharm官方网站下载最新版本的PyCharm;2、下载完成后,打开安装文件;3、安装完成后,打开PyCharm;4、在PyCharm的主界面中等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

754

5

python和pycharm的区别
python和pycharm的区别

Python和PyCharm是两个不同的概念,它们的区别如下:1、Python是一种编程语言,而PyCharm是一款Python集成开发环境;2、Python可以运行在各种不同的开发环境中,而PyCharm是专门为Python开发而设计的IDE等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

507

5

pycharm环境如何配置
pycharm环境如何配置

配置教程:1、下载并安装PyCharm;2、选择Python解释器;3、配置虚拟环境;4、配置代码风格;5、配置调试器;6、配置版本控制工具;7、配置插件;8、配置Python路径和环境变量;9、配置其他选项。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

502

5

pycharm解释器如何安装
pycharm解释器如何安装

安装步骤:1、打开PyCharm并打开你的项目;2、转到"File">“Settings”;3、在设置窗口中选择"Project">“Python Interpreter”;4、 点击“+” 符号添加新的解释器等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

323

5

pycharm并行运行是啥意思
pycharm并行运行是啥意思

pycharm中的并行运行功能允许并发运行代码块,提高开发和测试效率。通过启用该功能和设置进程数,可以:加快开发和调试过程;缩短测试套件的运行时间;充分利用多核处理器;简化复杂代码的结构和维护。想了解更多pycharm的相关内容,可以阅读本专题下面的文章。

2024.04.18

1168

11

pycharm的作用
pycharm的作用

pycharm是一款专为python编程设计的ide,提供以下功能:智能代码补全,实时错误检测和快速修复;代码重构,版本控制集成,先进调试工具等等。想了解更多pycharm的相关内容,可以阅读本专题下面的文章。

2024.04.18

5256

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程