pycharm-debug 模式修改代码无需重新启动程序用法

python-reloadium 热加载用法介绍

背景描述

PyCharm 热加载调试时,运行时修改代码无需重新启动程序即可更新所做的修改

简介:

  • 程序出现错误,修改错误代码后必须要重新执行整个程序

详细说明:

  • 在调试 python 程序时经常会出现这样的情况,代码执行到某一处时出现错误,或者与预期的的结果不一致,这时候发现是某一行写错了,我们会先对这一行

    进行简单修改并验证,然后再重新启动程序重头执行,再看看还有没有其它错误,然而如果在这一行之前执行了大量的费时操作,我们必须一直等到运行到修

    改处再看后面的代码是否还有误,浪费了大量的时间来重复执行前面已经能够保证正确的代码。而 python 作为一个解释性语言,相比于编译型语言,必然更

    容易实现热加载,即更改函数或程序后不重新执行程序而执行代码执行的修改。

Reloadium 高级热重载工具:

  • ReloadiumPython 中用于高级热重载的工具。

  • 它允许您立即应用代码更改并实时查看结果。

  • 它包含与许多流行的库和框架集成的内置插件。

  • 通过在代码更改时重新加载 Web 浏览器页面或使用数据库事务包装框架重新启动来提供无缝的开发体验。

安装 Reloadium

1. 方式一

PyCharm 插件市场搜索 Reloadium 进行安装即可 ( 推荐使用 方式一

在这里插入图片描述

2. 方式二
要求

Reloadium 适用于**Python 3.6+ **和基于 LinuxWindows、**MacOs **的操作系统。

​ 使用 Reloadium 会增加难以察觉的开销,并且不会在后台执行任何操作。

​ 启动程序后,Reloadium 等待源代码更改并相应地更新程序。

独立安装

Reloadium 可以用作独立库,但强烈建议在使用像 PyCharm 这样的 IDE 时使用提供的插件。

​ 可以通过运行以下命令使用 pip 安装 Reloadium 包:

pip install reloadium

​ 然后只需在脚本路径前添加 “reloadium” 即可运行

reloadium run example.py

​ 如果正在运行的模块添加标志 -m

reloadium run -m example

更新

Reloadium 包可以像任何其他包一样使用以下命令进行更新:

pip install reloadium --upgrade

实现效果

result/=0 是错误的会报异常,因为除数不能为 0,我们不需要重启代码,修改代码文件后 ctrl+s 进行保存即可完成热加载

在这里插入图片描述

使用

  1. 之前我们调试程序使用 绿色 的调试按钮,现在点击 橙色 的调试按钮即可开启热调试功能

Tips. 安装好 reloadium 插件以后点击 run/debug 按钮会有小视频教学

在这里插入图片描述

  1. 修改文件后 ctrl+s 保存即可,程序将会适当的重新执行更改的地方并返回至修改后的第一个断点处

示例:

Reloading current function

​ 重载当前函数

Reloadium 将在更改时重新运行当前函数,无论代码是否正常工作,开发人员都会获得即时反馈

在这里插入图片描述

Reloading Module Frames

​ 重新加载模块框架

​ 相同的机制可以应用于模块框架

在这里插入图片描述

Multi file reloading

​ 多文件重载

Reloadium 能够在整个项目中重新加载文件
在这里插入图片描述

Correcting mistakes

​ 纠正错误

​ 不要为了发现你犯了一个简单的错误而浪费时间重现错误,Reloadium 将在重新加载功能期间处理错误并让您修复错误。

在这里插入图片描述

Profiling

​ 剖析

Reloadium 显示功能帧的进度并提供时间信息。

​ 分析器仅从当前调试功能中的行中收集时序信息,使其成为日常使用的极其优化和轻量级的解决方案。
在这里插入图片描述

Django Reloading views

​ 重新加载视图

Reloadium 将在保存时热重载视图并刷新页面。

在这里插入图片描述

Django Reloading database objects

​ 重新加载数据库对象

Reloadium 将回滚数据库更改以防止在重新加载当前函数后创建不需要的对象。
在这里插入图片描述

Flask Page refreshing

​ 页面刷新

Reloadium 将热重新加载烧瓶应用程序并在保存时刷新页面。

​ 可以实时看到更改的内容,使 Web 开发更加顺畅。

在这里插入图片描述

Sqlalchemy Reloading database objects

​ 重新加载数据库对象

Reloadium 将回滚数据库更改以防止在重新加载当前函数后创建不需要的对象。

在这里插入图片描述

Hot reloading pandas objects

​ 热重载 pandas 对象

Reloadium 热重新加载 pandas 对象,为数据科学处理复杂的数据帧再简单不过了。
在这里插入图片描述

Hot reloading PyGame applications

​ 热重载 PyGame 应用程序

Reloadiumpygame 无缝协作,启用热重载后,您的游戏开发周期将大大缩短。

在这里插入图片描述

  1. 默认状态下只会监控你运行的文件和当前工作目录下的文件更改进行进行热更新,如果还想监控工作目录外引用的文件,那么可以在设置中添加,如下图所示
    在这里插入图片描述

拓展

更多操作及用法请查看官网文档 https://reloadium.io/

  • 20
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I believe I can fly~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值