• 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/

  • 相关阅读:
    Java之JavaConfig
    机器学习5数据归一化Feature Scaling
    使用Vue脚手架配置代理服务器的两种方式
    .NET周报 【6月第4期 2023-06-25】
    链上治理为何如此重要,波卡Gov 2.0又会如何引领链上治理的发展?
    【CSH 入门基础 8 -- csh 中 set 与 setenv 的区别 】
    JavaFX Scene Builder 工具详解
    多线程(二)多线程的锁机制(java)
    【react】慎用useLayoutEffect转而使用useEffect
    应该选择网络安全还是程序员?
  • 原文地址:https://blog.csdn.net/qq_31455841/article/details/127125219