PyCharm 热加载调试时,运行时修改代码无需重新启动程序即可更新所做的修改
简介:
详细说明:
在调试 python 程序时经常会出现这样的情况,代码执行到某一处时出现错误,或者与预期的的结果不一致,这时候发现是某一行写错了,我们会先对这一行
进行简单修改并验证,然后再重新启动程序重头执行,再看看还有没有其它错误,然而如果在这一行之前执行了大量的费时操作,我们必须一直等到运行到修
改处再看后面的代码是否还有误,浪费了大量的时间来重复执行前面已经能够保证正确的代码。而 python 作为一个解释性语言,相比于编译型语言,必然更
容易实现热加载,即更改函数或程序后不重新执行程序而执行代码执行的修改。
Reloadium 高级热重载工具:
Reloadium 是Python 中用于高级热重载的工具。
它允许您立即应用代码更改并实时查看结果。
它包含与许多流行的库和框架集成的内置插件。
通过在代码更改时重新加载 Web 浏览器页面或使用数据库事务包装框架重新启动来提供无缝的开发体验。
在 PyCharm 插件市场搜索 Reloadium 进行安装即可 ( 推荐使用 方式一 )
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 按钮会有小视频教学
示例:
Reloading current function
重载当前函数
Reloadium 将在更改时重新运行当前函数,无论代码是否正常工作,开发人员都会获得即时反馈
Reloading Module Frames
重新加载模块框架
相同的机制可以应用于模块框架
Multi file reloading
多文件重载
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/