我有一个奇怪的问题,我不能把手指放在上面。我使用了一个程序(并不时有所贡献),该程序使控制台输出着色。一切工作很好,直到我重新安装Windows。现在我无法获得彩色输出。打印彩色输出 - 从控制台而不是从脚本工作
这是用于着色的script。
我已经设法将问题缩小到或多或少的简单情况,但我不知道什么是错的。
这是控制台提示符下按预期工作(字符串test
红色印):
Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path.insert(0, r'c:\bin\SV\tea\src')
>>> from tea.console.color import cprint, Color
>>> cprint('test\n', Color.red)
test
>>>
但是当我运行下面的脚本与相同版本的Python我得到的输出test
但不是在红色(有没有颜色,只是默认的控制台颜色):
import sys
sys.path.insert(0, r'c:\bin\SV\tea\src')
from tea.console.color import cprint, Color
cprint('test\n', Color.red)
- 之前,我重新安装了系统相同的设置工作。
- 我已经检查过,交互模式和脚本中的环境变量是相同的。
- 我已经在标准的Windows命令提示符和控制台中试过这个,我通常使用的程序是 。
- 有问题的操作系统是Windows 8,在重新安装之前,这也在Windows 8上使用。
- 相同的代码具有相同的安装程序在工作的计算机(Windows 7)工作。
- 我安装了Python 2.7和Python 3.3(正如我以前所做的那样)。我试图运行脚本 与直接调用python解释器(
c:\Python27\python.exe
)或与py -2
, 但它没有帮助。 - IPython和mercurial按照它应该的颜色输出。
任何想法我可以尝试使这项工作?
编辑:
也许并不清楚,但剧本我用上色输出有问题的链接中给出。在这里它再次: https://bitbucket.org/alefnula/tea/src/dc14009a19d66f92463549332a321b29c71d47b8/src/tea/console/color.py?at=default
你可以分享代码到'tea.console.color'吗?例如,是否在管道环境中使用终端检测来禁用颜色? – 2013-02-23 16:43:58
有问题的tea.console.color的链接。我将编辑问题以使其更清楚。 – 2013-02-23 17:20:56
查看[utils模块源代码](https://bitbucket.org/alefnula/tea/src/dc14009a19d6/src/tea/system/__init__.py?at=default)我想知道*为什么*该项目不'使用['platform'](http://docs.python.org/2/library/platform.html)模块?平台检测完全有可能在某处出错。 – 2013-02-23 17:25:34