【问题标题】:Use plain text Widget for Spyder's IPython Console为 Spyder 的 IPython 控制台使用纯文本小部件
【发布时间】:2018-02-01 01:56:39
【问题描述】:

通过设置,我可以将 Jupyter 的 QtConsole 设置为使用纯文本小部件而不是富文本

c.JupyterQtConsoleApp.plain = True

在配置文件~/.jupyter/jupyter_qtconsole_config.py

Spyder 的 IPython 控制台似乎不尊重此配置文件中的设置。如何为 Spyder 的 IPython 控制台设置此选项(或获得相同的行为)?

【问题讨论】:

    标签: configuration jupyter spyder plaintext qtconsole


    【解决方案1】:

    此处是 Spyder 维护者)Spyder 仅在其控制台中使用富文本小部件,因此它不尊重您提到的配置选项(尽管它试图尊重大多数其他选项)。

    我真的不明白你为什么要使用纯文本小部件,但如果你想要这种可能性,总是有qtconsole,正如你所指出的那样。

    【讨论】:

    • 我的主要动机是 pint 对象的输出渲染很差而且很慢,因为它是通过 LaTeX 解释器发送的(pint 是一个单位包)。有关示例,请参阅here。自 Pierre 集成QtConsole 以来,我已经使用Spyder 7 年多了,并且不想改变;-)。我想探索其他解决方案。
    • 我不知道如何为您提供帮助。也许您可以与 Pint 开发人员交谈,了解如何改进 Spyder 的功能。如果我能提供其他帮助,你可以在 Github 上联系我。
    【解决方案2】:

    我找到了解决此问题的方法,即删除 pint 定义的 _repr_latex_ 方法。在__init__.py 中,我实例化了一个要在整个项目中使用的单元注册表,我有以下内容:

    import pint
    ureg = pint.UnitRegistry()
    
    # don't display latex in consoles
    delattr(pint.quantity._Quantity, '_repr_latex_')
    delattr(pint.unit._Unit, '_repr_latex_')
    

    这应该是安全的,因为模式 _repr_<meme>_ 的方法仅由 IPython.display 模块使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-09
      • 2017-11-30
      • 2016-04-10
      • 2018-02-02
      • 1970-01-01
      • 2018-11-08
      • 2018-01-05
      相关资源
      最近更新 更多