2012-11-17 58 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及其擴展,並且此錯誤消失。