最近我发现 colorama* 无法按预期工作。它不会将 ANSI 转义序列转换为 WinAPI 调用来更改 PoSh 控制台文本颜色。我注意到它在旧的 cmd 控制台中可以正常工作,但在 PowerShell 中却不行。
我还注意到,如果我使用 convert 参数调用 init 函数,colorama 会按预期工作:colorama.init(convert=True)
。通常,colorama 会自动识别 Windows 控制台。
为此,colorama 测试名为的环境变量TERM
。我的 PowerShell 返回cygwin
!
我如何找到这Cygwin 安装设置了这个变量?
笔记:
TERM
未在 cmd 控制台中设置- 我从未安装过独立的 Cygwin,但我安装的许多工具都带有自己的 Cygwin 文件夹/安装(> 6)
- 卸载这些工具是不可能的
在当前的解决方法中,我在每个 PS 会话中删除 env:TERM。
- colorama 是一个用 Python 编写的控制台包装器,用于在 Linux 和 Windows 上启用彩色文本输出。