2012-11-17 61 views
1

我试图发起Python的诅咒initscr的错误

screen = curses.initscr() 

但它失败,返回

File "C:\Python32\lib\curses\__init__.py", line 31, in initscr 
fd=_sys.__stdout__.fileno()) 
AttributeError: 'NoneType' object has no attribute 'fileno' 

这里是我的Python系统3.2.3(默认情况下,2012年4月11日,07:12: 16)[win32上的[MSC v.1500 64位(AMD64)]

这是我第一次在这台电脑上运行python,它是Windows 7 64bit。

这是否与我的操作系统有关?无论如何,我能解决这个问题?

+0

您是否使用了 - > http://www.lfd.uci.edu/~gohlke/pythonlibs/#curses的curses模块? –

回答

1

您不能在Windows上使用curses模块;显然有DOS和OS/2端口,但它主要是一个POSIX只库。

你将不得不使用Windows的特定端口,如wcurses,支持Windows也如PDCurses,或者你可以尝试console module(后者驱动器以类似的方式在Windows CMD控制台第三方项目)。

+0

这是真的 - > http://www.lfd.uci.edu/~gohlke/pythonlibs/#curses? –

+1

有趣;这是[PDCurses库](http://pdcurses.sourceforge.net/)的包装,而不是'curses'。实质上,它是一个像'wcurses'这样的端口。 –

+0

添加到我的文章;我不知道这个项目。 –

0

在Windows上几乎所有的Python版本都有curses扩展下载。我有和Pieters一样的错误,但是它起因于我试图从Idle运行程序的事实。这显然不起作用,当使用像curses这样的扩展时。只需左键单击您的.py程序,它将自行调用Python及其扩展,并且此错误消失。