Closed xuxiong closed 7 years ago
我尝试搭建环境测试了一下,确实在Python 3.6 下会出现 如上错误,但这个应该是 click
出现了问题。具体的等我详细查看一下的....
环境调整为:win10,anaconda2,python2.7, rqalpha-2.1.2 update_bundle正常。
@xuxiong 查看了一下,原因是 colorama 库更新到0.3.8版本,底层覆盖了 sys.stdout
.....
其中 ansitowin32.py
文件中定义了如下内容:
class StreamWrapper(object):
'''
Wraps a stream (such as stdout), acting as a transparent proxy for all
attribute access apart from method 'write()', which is delegated to our
Converter instance.
'''
def __init__(self, wrapped, converter):
# double-underscore everything to prevent clashes with names of
# attributes on the wrapped stream object.
self.__wrapped = wrapped
self.__convertor = converter
def __getattr__(self, name):
return getattr(self.__wrapped, name)
def write(self, text):
self.__convertor.write(text)
def fileno():
raise OSError()
其中 fileno
函数 第一没实现 raise 了一个 OSError 第二 还写错了,少了个self....
从而导致 执行如下命令会报错:
import sys
sys.stdout.fileno()
而... click
包使用了 该函数....
目前 RQAlpha 指定使用 colorama==0.3.6
便可以规避该问题。
您可以指定安装 0.3.6 版本的 colorama 或者稍后更新新版本的RQAlpha 来解决该问题。
环境为:win10,anaconda2,python3.6.1, rqalpha-2.1.2 错误输出如下: