为什么 iTerm2 以彩色打印 Pytest 结果?

Why is iTerm2 printing Pytest results in color?

我正在尝试使用 Pytest --color=yes 选项并意识到我的终端正在打印彩色结果,即使它没有被设置。 这是为什么?

我的终端设置是这样的:

我的猜测是它与 oh-my-zsh 有关,但我不确定是什么、在哪里以及如何。

我得到这个问题是因为我试图创建 SublimeText 构建系统,它将以颜色打印结果,但没有成功(不包括使用 SublimeANSI 插件,它有一些怪癖)。

所以,重申一下这个问题:我很困惑为什么我的终端应用程序以彩色打印 Pytest 结果,即使没有为 Pytest 设置 --color=yes

如果我们查看 Pytest terminal source,我们会在 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 允许使用颜色,因此无需您自己传递选项即可显示。