sys.stdout在bpython中没有属性flush

时间:2015-02-25 08:43:20

标签: python python-3.x sys bpython

我正在使用bpython进行交互式Python会话,因为我更新了系统,我遇到了以下问题:

在bpython3:

>>> import sys
>>> sys.stdout.flush
Traceback (most recent call last):
  File "<input>", line 1, in <module>
AttributeError: 'FakeStream' object has no attribute 'flush'

然而,在Python3中:

>>> import sys
>>> sys.stdout.flush
<built-in method flush of _io.TextIOWrapper object at 0x7fab6b7fb708>

对于IPython3也一样。

那么为什么sys.stdout在bpython3中没有属性flush?我搜索了sys模块的源代码,但找不到它。我也找不到sysmodule.c文件或类似的东西。 bpython是否对其他CLI使用与此模块相同的代码?

$ bpython3 --version
bpython version 0.12 on top of Python 3.4.2
(C) 2008-2012 Bob Farrell, Andreas Stuehrk et al. See AUTHORS for detail.

$ python3 --version
Python 3.4.2

1 个答案:

答案 0 :(得分:3)

这是在版本0.13中修复的错误。

使用pip3 install -U bpython进行升级应更新到包含修复程序的最新稳定版本。