Ошибка нет модуля с именем curses
Когда я пытаюсь запустить следующий код...
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()
Я получаю эту ошибку
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 *
Я использую Python 2.7 и импортировал библиотеку telnetsrvlib, и я запускаю код на Windows 7. Любая помощь будет оценена.
4 ответа
Установите модуль UniCurses отсюда: https://pypi.python.org/pypi/UniCurses
Возможно, вам придется изменить часть своего кода, чтобы использовать его, поскольку он обеспечивает функциональность NCurses, а не библиотеки vanilla curses.
К сожалению, прямого проклятия Python для Windows не существует.
Вы также можете посмотреть на установку модуля curses здесь: http://www.lfd.uci.edu/~gohlke/pythonlibs/.
Он позволяет использовать родные проклятия Python в Windows, поэтому можно использовать весь ваш стандартный код проклятий Python.
Вдохновленный @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
А затем скопировать их в lib-dynload
папка, в которой вы установили свой питон.
Получил ту же ошибку с Python 3.4 на Ubuntu 14.04, и вот как я это исправил.
мой /usr/local/lib/python3.4/lib-dynload/
В каталоге не было следующих файлов -
_curses.cpython-34m.so
_curses_panel.cpython-34m.so
Получил копию последней версии Python 3.4.2. Затем (извлеченный &) скомпилировал это:
./configure
make
Теперь .so
нужные мне файлы были в build/lib.linux-i686-3.4/
и я скопировал их /usr/local/lib/python3.4/lib-dynload/
,