我正在使用Pytest--color=yes
选项,并意识到我的终端即使没有设置也会以彩色打印结果。为什么呢?
我的终端设置如下:
- 操作系统:MacOS iTerm2 build 3.4.15
- iTerm2报告终端类型属性设置为:xterm-256color
- 默认shell是zsh (oh-my-zsh)
- 不确定是否还有其他问题…
我猜它与oh-my-zsh有关,但我不确定是什么,在哪里以及如何。
我得到了这个问题,因为我试图创建SublimeText构建系统,将以颜色打印结果,没有成功(不包括使用SublimeANSI插件,它与一些怪癖一起工作)。
所以,重申这个问题:我很困惑为什么我的终端应用程序以彩色打印Pytest结果,即使没有为Pytest设置--color=yes
。
如果我们查看Pytest终端源代码,我们将在color
选项上看到以下内容:
group._addoption(
"--color",
metavar="color",
action="store",
dest="color",
default="auto",
choices=["yes", "no", "auto"],
help="color terminal output (yes/no/auto).",
)
所以默认设置为auto
。
你的zsh/oh-my-zsh允许使用颜色,因此没有传递自己的选项。