चेतावनी: यह उत्तर IPython
5.5.0
के साथ ही संगत है और यह IPython
6+
साथ अच्छी तरह से अनुवाद करने के लिए प्रतीत नहीं होता। (त्वरित परीक्षण के लिए thx @meowsqueak!)
IPython 5.5.0
के रूप में, आप लक्षित प्रोफाइल फ़ोल्डर में ipython_config.py
पर किसी भी स्टाइल रंग का धन्यवाद ओवरराइड कर सकते हैं। (यानी: ~/.ipython/profile_default
default
प्रोफ़ाइल के लिए लिनक्स ठेठ इंस्टॉल पर)।
आईपीथन कोड रंगीन से संबंधित एक गड़बड़ है और पार्सर्स, डिबगर्स, इंटरैक्टिव शैल के लिए कई विधियों का उपयोग किया जाता है। कुछ भाग Pygments
का उपयोग करते हैं, कुछ अन्य एएनएसआई एस्केप कोड प्रदान करते हैं जो 16 रंग पैलेट तक सीमित हैं।
समाधान सुंदर नहीं है, लेकिन काम करता है। यदि कोई और अन्य सुंदर तरीका है, तो कृपया मुझे टिप्पणी में बताएं!
कृपया ध्यान दें कि मेरे समाधान में डिफ़ॉल्ट पैलेट के विस्तार के लिए धन्यवाद, आईपीथॉन रंग के प्रत्येक भाग के लिए 256 रंग या अधिक का उपयोग करने की क्षमता भी शामिल है। निम्नलिखित कोड में 256 रंगों का विस्तार करने का एक उदाहरण है।
तो यहाँ कैसे किया जाता है, सभी टोकन की एक सूची है कि इस्तेमाल किया जा सकता के साथ:
##
## Basic color scheme that will be modified
##
colorLabel = 'Linux'
c.InteractiveShell.colors = colorLabel
from pygments.token import Token, Keyword, Name, Comment, String, Error, \
Number, Operator, Generic, Whitespace
c.TerminalInteractiveShell.highlighting_style_overrides = {
## Standard Pygments tokens (are all used by IPython ?)
Whitespace: "#bbbbbb",
Comment: "italiC#008800",
Comment.Preproc: "noitalic",
Comment.Special: "noitalic bold",
Keyword: "bold #AA22FF",
Keyword.Pseudo: "nobold",
Keyword.Type: "bold #00BB00",
Operator: "#666666",
Operator.Word: "bold #AA22FF",
Name.Builtin: "#fff", #""#AA22FF",
Name.Function: "#00A000",
Name.Class: "#0000FF",
Name.Namespace: "bold #0000FF",
Name.Exception: "bold #D2413A",
Name.Variable: "#B8860B",
Name.Constant: "#880000",
Name.Label: "#A0A000",
Name.Entity: "bold #999999",
Name.Attribute: "#BB4444",
Name.Tag: "bold #008000",
Name.Decorator: "#AA22FF",
String: "#BB4444",
String.Doc: "italic",
String.Interpol: "bold #BB6688",
String.Escape: "bold #BB6622",
String.Regex: "#BB6688",
String.Symbol: "#B8860B",
String.Other: "#008000",
Number: "#666666",
Generic.Heading: "bold #000080",
Generic.Subheading: "bold #800080",
Generic.Deleted: "#A00000",
Generic.Inserted: "#00A000",
Generic.Error: "#FF0000",
Generic.Emph: "italic",
Generic.Strong: "bold",
Generic.Prompt: "bold #000080",
Generic.Output: "#888",
Generic.Traceback: "#04D",
Error: "border:#ff0000",
## IPython
Token.Number: '#ffffff',
Token.Operator: 'noinherit',
Token.String: '#8b8',
Token.Name.Function: '#2080D0',
Token.Name.Class: 'bold #2080D0',
Token.Name.Namespace: 'bold #2080D0',
Token.Prompt: '#ffffff bold',
Token.PromptNum: '#888888 bold',
Token.OutPrompt: '#008b8b bold',
Token.OutPromptNum: '#006b6b bold',
}
from IPython.core import excolors, ultratb, debugger
from IPython.core.excolors import exception_colors as exception_colors_orig
##
## Add new color labels here before attributing them
##
from IPython.utils import coloransi
coloransi.color_templates = (
# Dark colors
("Black" , "0;30"),
("Red" , "0;31"),
("Green" , "0;32"),
("Brown" , "0;33"),
("Blue" , "0;34"),
("Purple" , "0;35"),
("Cyan" , "0;36"),
("LightGray" , "0;37"),
# Light colors
("DarkGray" , "1;30"),
("LightRed" , "1;31"),
("LightGreen" , "1;32"),
("Yellow" , "1;33"),
("LightBlue" , "1;34"),
("LightPurple" , "1;35"),
("LightCyan" , "1;36"),
("White" , "1;37"),
## 256-colors
("Green108", "38;5;108"),
)
coloransi.make_color_table(coloransi.TermColors)
coloransi.make_color_table(coloransi.InputTermColors)
for name, value in coloransi.color_templates:
setattr(coloransi.NoColors, name, '')
C = coloransi.TermColors
IC = coloransi.InputTermColors
def exception_colors():
ex_colors = exception_colors_orig()
ex_colors.add_scheme(coloransi.ColorScheme(
colorLabel,
# The color to be used for the top line
topline=C.LightRed,
# The colors to be used in the traceback
filename=C.Green,
lineno=C.DarkGray,
name=C.Purple,
vName=C.Cyan,
val=C.White,
em=C.LightCyan,
# Emphasized colors for the last frame of the traceback
normalEm=C.LightCyan,
filenameEm=C.Green,
linenoEm=C.Normal,
nameEm=C.LightPurple,
valEm=C.LightGreen,
# Colors for printing the exception
excName=C.Red,
line=C.Yellow,
caret=C.White,
Normal=C.Normal
))
return ex_colors
excolors.exception_colors = exception_colors
ultratb.exception_colors = exception_colors
debugger.exception_colors = exception_colors
##
## Parser color (source code colors)
##
from IPython.utils import PyColorize
import token
import tokenize
PyColorize.ANSICodeColors[colorLabel] = coloransi.ColorScheme(
colorLabel, {
'header' : C.LightRed,
token.NUMBER : C.LightCyan,
token.OP : C.Normal,
token.STRING : C.Green108,
tokenize.COMMENT : C.LightGray,
token.NAME : C.Normal,
token.ERRORTOKEN : C.Red,
PyColorize._KEYWORD : C.White,
PyColorize._TEXT : C.Yellow,
## Keep IC here, you can use other colors
'in_prompt' : IC.Green,
'in_number' : IC.LightGreen,
'in_prompt2' : IC.Green,
'in_normal' : IC.Normal, # color off (usu. Colors.Normal)
'out_prompt' : C.Red,
'out_number' : C.LightRed,
'normal' : C.Normal # color off (usu. Colors.Normal)
})
हम कैसे Windows में ऐसा होगा? मुझे कुछ याद आ रहा है, लेकिन आईपीथॉन की मेरी विशेष स्थापना के लिए कोई ऑब्जेक्ट प्रॉम्प्ट नहीं है। PColLinux – Stephen
मैं आईपीथॉन 6.1.0 का उपयोग कर रहा हूं और इसमें कोई भी संकेत नहीं है। PColLinux' या 'prompts.PColLinuxBG'। दिखने के बाद, इस उपप्रणाली को IPython 5 (या उसके पास) में फिर से लिखा गया था और मुझे अभी तक नवीनतम संस्करणों में समतुल्य कुछ भी नहीं मिला है। – meowsqueak
@minrk बेवकूफ सवाल के लिए खेद है, लेकिन हम उस config.py को कहां से सहेजना चाहिए? – JinSnow