iPython-更改双下划线(魔术)属性的颜色?

时间:2019-03-29 08:55:17

标签: python ipython

我将iPython更新为:

Python 3.6.7 (default, Mar 29 2019, 10:38:28) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.4.0 -- An enhanced Interactive Python. Type '?' for help.

我注意到,像__name__这样的双下划线属性为深蓝色。我的终端是黑色的,因此这些属性非常暗,很难看清(请查看A.__name__):

enter image description here

是否可以在iPython上修改颜色?。

我找到了这个问题,但是在7.4.0 iPython看来,给出的答案不再起作用。

How do I customize text color in IPython?

2 个答案:

答案 0 :(得分:2)

在安装目录中,您会找到一个名为ipython_config.py的文件。要安装此文件,只需使用以下命令:

ipython profile create

否则,找到此文件并将其复制到您的~/.ipython/profile_default/目录中。

在编辑之前,请使用以下方法对此文件进行备份:

cp ~/.ipython/profile_default/ipython_config.py \   
   ~/.ipython/profile_default/ipython_config.py_backup

使用您选择的编辑器打开此文件,搜索以下设置并将其注释掉(删除“#”):

#c.TerminalInteractiveShell.highlighting_style_overrides = {}

您必须在那里有下一个代码:

## Override highlighting format for specific tokens

from pygments.token import Name
c.TerminalInteractiveShell.highlighting_style_overrides = {
   Name.Variable:    "#FF00FF"
}

enter image description here

答案 1 :(得分:0)

您可以覆盖pygments中定义的任何标记的突出显示颜色-pymgents documentation中有一个列表。您要更改的令牌为Name.Function.Magic。为此,请将以下内容添加到您的ipython_config.py文件中(我的文件位于~/.ipython/profile_default中):

from pygments.token import Token

c.TerminalInteractiveShell.highlighting_style_overrides = {
        Token.Name.Function.Magic: '#FF00FF'
}

这会使魔术功能以洋红色突出显示-您的喜好可能会有所不同:)