如何更改IPython Shell文本文字颜色(Windows Powershell)

时间:2019-04-01 13:37:40

标签: powershell ipython

问题定义

我在Windows Powershell上使用IPython。由于某种原因,字符串文字的颜色是深红色,难以理解:

Ipython in powershell

为了进行比较,这是使用powershell“ shell”和Ipython在VSCode上的外观:

Ipython in powershell in VSCode

问题

IPython当然使用一些命令来告诉外壳要使用的颜色。如何将字符串文字颜色修改为浅红色?我希望这是计算机范围(或至少用户范围)的设置。

3 个答案:

答案 0 :(得分:2)

我找到了一种设置单独颜色的方法。在.wav中(如果您不知道如何到达那里,请参阅其他答案),您将找到带注释的条目ipython_config.py。 取消注释该条目,并根据自己的喜好为String令牌设置颜色:

c.TerminalInteractiveShell.highlighting_style_overrides

这使字符串再次可读!

答案 1 :(得分:1)

这是我为使文本更具可读性所做的工作。感谢SO用户Theo为我指出正确的方向。

1。检查我在~\.ipython

中没有任何配置文件
  • 在Windows ~上翻译为C:\Users\<USER>\

2。跑ipython profile create

  • 输出为
PS C:\Somefolder> ipython profile create
[ProfileCreate] Generating default config file: 'C:\\Users\\<USER>\\.ipython\\profile_default\\ipython_config.py'

3。编辑了ipython_config.py

  • 找到以下行:
#c.InteractiveShell.colors = 'Neutral'

并将其更改为

c.InteractiveShell.colors = 'Linux'
  • IPython documentation说它有四个可能的值'nocolor', 'neutral', 'linux', 'lightbg',而linux已针对深色背景进行了优化。

结果

输出看起来像这样(左:Neutral,右:Linux)。文本文字在linux配色方案中更具可读性,但from关键字和一些特殊字符(如=/则更不易理解。我会说这是次优的解决方案。更好的解决方案是只将红色文字的文字颜色编辑为浅一点。

neutral vs linux coloring in Ipython

答案 2 :(得分:0)

已解决

在Win 10,Python 3.7和Python 3.8上-当将IPython与Powershell 一起使用时,我遇到了问题,其中Windows会更改某些Python关键字(例如self)的颜色以匹配背景颜色,从而使其无法阅读。

这显然使使用IPython变得困难,因为关键字会在我键入时显示,但是当我完成单词时-它会更改颜色并被隐藏,尽管可编辑。

与该问题的解决方案有关的修复程序是:

1-查找IPython配置(〜/ ipython / profile_default / ipython_config.py-或更改路径的任何存储ipython配置文件的位置)

2-确认我的机器支持TRUECOLOR(指令在ipython_config.py中)

3-取消注释该行。

*c.TerminalInteractiveShell.true_color = True*

4-重新启动IPython终端