可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
When I try to run the following code...
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): """ [ ...] 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()
I get this error
Traceback (most recent call last): File ".\telserv.py", line 1, in from telnetsrvlib import * File "C:\Python27\lib\site-packages\telnetsrvlib-1.0.2-py2.4.egg\telnetsrvlib.py", line 31, in import curses.ascii File "C:\Python27\lib\curses\__init__.py", line 15, in from _curses import *
I am running python 2.7 and have imported the telnetsrvlib library and I am running the code on windows 7. Any help would be appreciated.
回答1:
Install the UniCurses module from here: https://pypi.python.org/pypi/UniCurses
You may need to alter some of your code in order to use it, as it provides the functionality of NCurses, not the vanilla curses library.
Unfortunately, no direct Python for Windows port of curses exists.
回答2:
You could also look into installing the curses module from here: http://www.lfd.uci.edu/~gohlke/pythonlibs/#curses.
It allows python's native curses to be used on Windows, so all your standard python curses code can be used.
回答3:
Got the same error with Python 3.4 on Ubuntu 14.04 and here is how I fixed it.
My /usr/local/lib/python3.4/lib-dynload/
directory did not have the following files -
_curses.cpython-34m.so _curses_panel.cpython-34m.so
Got a copy of the latest Python 3.4.2 source. Then (extracted &) compiled it:
./configure make
Now the .so
files I need were in build/lib.linux-i686-3.4/
and I copied them to /usr/local/lib/python3.4/lib-dynload/
.
回答4:
inspired by @YKB, I did this for Ubuntu 16.04 and Python3.5.2,
sudo apt-get install libncurses5-dev
,
and then go to source code of Python, and make
, two new files are created.
_curses.cpython-35m-x86_64-linux-gnu.so _curses_panel.cpython-35m-x86_64-linux-gnu.so
And then copy them to lib-dynload
folder at where you installed your python.
回答5:
you can even find the source code and paste it into the lib folder! After that, importing will go on as usual.