python-reloadium 热加载用法介绍
背景描述
PyCharm 热加载调试时,运行时修改代码无需重新启动程序即可更新所做的修改
简介:
- 程序出现错误,修改错误代码后必须要重新执行整个程序
详细说明:
-
在调试 python 程序时经常会出现这样的情况,代码执行到某一处时出现错误,或者与预期的的结果不一致,这时候发现是某一行写错了,我们会先对这一行 进行简单修改并验证,然后再重新启动程序重头执行,再看看还有没有其它错误,然而如果在这一行之前执行了大量的费时操作,我们必须一直等到运行到修 改处再看后面的代码是否还有误,浪费了大量的时间来重复执行前面已经能够保证正确的代码。而 python 作为一个解释性语言,相比于编译型语言,必然更 容易实现热加载,即更改函数或程序后不重新执行程序而执行代码执行的修改。
Reloadium 高级热重载工具:
安装 Reloadium
1. 方式一
在 PyCharm 插件市场搜索 Reloadium 进行安装即可 ( 推荐使用 方式一 )
2. 方式二
要求
? Reloadium 适用于**Python 3.6+ **和基于 Linux、Windows、**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 进行保存即可完成热加载
使用
- 之前我们调试程序使用 绿色 的调试按钮,现在点击 橙色 的调试按钮即可开启热调试功能
? Tips. 安装好 reloadium 插件以后点击 run/debug 按钮会有小视频教学
- 修改文件后 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 应用程序
? Reloadium 与 pygame 无缝协作,启用热重载后,您的游戏开发周期将大大缩短。
- 默认状态下只会监控你运行的文件和当前工作目录下的文件更改进行进行热更新,如果还想监控工作目录外引用的文件,那么可以在设置中添加,如下图所示
?
拓展
更多操作及用法请查看官网文档 https://reloadium.io/
|