【问题标题】:jupyterlab debugging mode contains many variables, what are they?jupyterlab调试模式包含很多变量,它们是什么?
【发布时间】:2021-05-05 04:21:54
【问题描述】:

我有最新版本的 jupyterlab 版本 3.0.14 在调试模式下,右侧框中存在许多不需要的变量 这些是什么? 除了ijresult,我想删除它们。

【问题讨论】:

    标签: variables debugging ipython jupyter-lab xeus-python


    【解决方案1】:

    你可以调整调试器的variableFilters设置隐藏你不感兴趣的变量;有关详细信息,请参阅this answer

    调试器只显示内核中运行时可用的所有变量; Python 内核(IPython 和 Xeus Python)具有记住每个执行单元的输入和输出的功能;如果您执行计算密集型任务的单元格,但忘记将结果分配给变量,这将非常有用,例如,而不是:

    result = do_long_calculation()
    

    你会的:

    do_long_calculation()
    

    在后一种情况下,您可以使用 IPython 下划线 _ 变量缓存最后的执行结果来恢复输出:

    result = _
    

    如果您已经覆盖了最近的输出,则前一个输出将转到__,依此类推。在output caching system documentation 中了解更多信息。 类似地,_i_ii 等变量会缓存单元格的最新输入,因此您可以检查 what 已被执行。在input caching system documentation 中查看更多信息。还有InOut 变量存储整个执行历史供您参考。

    为了将来的方便,我提出了允许正则表达式隐藏与模式here 匹配的所有变量的想法。

    【讨论】:

    • _45、_ih、___i5 有什么区别,我可以减少这些变量吗?以及如何在调试器中显示完整的矩阵或数组
    • 这在我在回答中链接到的文档中进行了描述:In, _ih:所有输入的列表; _ih[n] 是第 n 行的输入。如果您用自己的变量覆盖 In,则可以使用简单的 In=_ih 重新分配到内部列表。reduce 是什么意思?你看过here这个例子吗?
    • 关于矩阵/数组的渲染,目前安排在JupyterLab 4.0,见here
    • 你的意思是它还没有发布?! jupyterlab 4.0 什么时候可用?
    • 我的意思是虽然矩阵/数组已经以文本形式显示,但表格形式的精美渲染尚未实现,并计划在 2021 年底/2022 年初计划用于 JupyterLab 4.0(您可以订阅更新here)。没有必要对我大喊大叫 - 您正在使用一个开源项目免费尊重您的隐私并以可持续的方式开发(意味着它不会被放弃),志愿者贡献者喜欢我没有因为帮助你而获得报酬,而是在空闲时间这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-11
    • 2013-08-17
    • 1970-01-01
    • 2012-08-01
    • 2012-11-11
    相关资源
    最近更新 更多