错误没有名为curses的模块

Str*_*mer 11 python windows curses telnet python-2.7

当我尝试运行以下代码时......

from telnetsrvlib import *

if __name__ == '__main__':
"Testing - Accept a single connection"
class TNS(SocketServer.TCPServer):
    allow_reuse_address = True

class TNH(TelnetHandler):
    def cmdECHO(self, params):
        """ [<arg> ...]
        Echo parameters
        Echo command line parameters back to user, one per line.
        """
        self.writeline("Parameters:")
        for item in params:
            self.writeline("\t%s" % item)
    def cmdTIME(self, params):
        """
        Print Time
        Added by dilbert
        """
        self.writeline(time.ctime())

logging.getLogger('').setLevel(logging.DEBUG)

tns = TNS(("0.0.0.0", 8023), TNH)
tns.serve_forever()
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

Traceback (most recent call last):
File ".\telserv.py", line 1, in <module>
from telnetsrvlib import *
File "C:\Python27\lib\site-packages\telnetsrvlib-1.0.2-py2.4.egg\telnetsrvlib.py", line 31, in <module>
import curses.ascii
  File "C:\Python27\lib\curses\__init__.py", line 15, in <module>
from _curses import *
Run Code Online (Sandbox Code Playgroud)

我正在运行python 2.7并导入了telnetsrvlib库,我在Windows 7上运行代码.任何帮助将不胜感激.

小智 14

您还可以从这里查看安装curses模块:http: //www.lfd.uci.edu/~gohlke/pythonlibs/#curses.

它允许在Windows上使用python的本机curses,因此可以使用所有标准的python curses代码.


小智 10

从这里安装UniCurses模块:https://pypi.python.org/pypi/UniCurses

您可能需要更改一些代码才能使用它,因为它提供了NCurses的功能,而不是vanilla curses库.

不幸的是,没有直接的Python for Windows端口的curses存在.


Yur*_*a G 7

这对我行得通:

pip install windows-curses
Run Code Online (Sandbox Code Playgroud)


Ton*_*ony 5

受@YKB的启发,我为Ubuntu 16.04和Python3.5.2做了这个,

sudo apt-get install libncurses5-dev,

然后转到Python源代码,并且make创建了两个新文件。

_curses.cpython-35m-x86_64-linux-gnu.so
_curses_panel.cpython-35m-x86_64-linux-gnu.so
Run Code Online (Sandbox Code Playgroud)

然后将它们复制到lib-dynload安装 python 的文件夹中。