Найти - Пользователи
Полная версия: Проблемы с библ/модулем CURSES
Начало » Python для экспертов » Проблемы с библ/модулем CURSES
1 2
dmb_21
Всем доброго времени суток.

Кто-нибудь сталкивался когда-нибудь с библиотекой CURSES?
Что можно про нее сказать хорошего или плохого? Можно ли ее использовать в перспективе в своем коде для Windows?
А то может она плохо дружит с windows?

Дело в том, что нашел на гитхабе интересный для себя код, а он не работает из-за ошибок с curses.
Там окно разделяется на несколько независимых участков с помощью таких конструкций:
 import curses
ins_win = curses.newwin(20, 140, 10, 10)
ins_win.scrollok(True)
reg_win = curses.newwin(20, 70, 10, 80)       
reg_win.idcok(True)
stk_win = curses.newwin(60, 160, 10, 140)
stk_win.idcok(True)
stk_win.idlok(False)
И толи эти размеры выходят за пределы основного окна, толи еще что-то, в общем, выдает ошибку.
Когда некоторые участки окна в коде я закоментировал, то один участок/окно - отобразился.

И самое главное, что я не знаю как это можно правильно(грамотно) отладить?
Простая отладка в PyCharm - ничего не дает.
Просто отображается исключение и далее отладка прекращается.
Из-за чего исключение, как, что… - непонятно?

Никто не подскажет каким способом это можно отладить, чтобы отладчик выдал: какая и где проблема?
Может нужна какая-нибудь удаленная отладка?

Заранее спасибо.
doza_and
dmb_21
Просто отображается исключение и далее отладка прекращается.
Думаю у вас пока немного не хватает квалификации.
Сужу по тому как вы излагаете суть проблемы.

Вы не привели текст сообщения об ошибке. Не сказали какую версию библиотеки и питона используете.

dmb_21
Никто не подскажет каким способом это можно отладить, чтобы отладчик выдал: какая и где проблема?
Обычно исчерпывающее описание места проблемы содержится в тексте сообщения об ошибке. Что вы собственно ожидаете от отладчика дополнительно получить? Обычно стек есть, описание ошибки есть.

Иногда бывают ошибки в компилированных модулях. Если из текста ошибки непонятно что произошло то конечно можно скачать исходники, собрать отладочную версию питона и модуля и запустить сишный отладчик, но думаю это не тот уровень отладки который вам реально нужен.

dmb_21
А то может она плохо дружит с windows?
RTFM
https://docs.python.org/3/howto/curses.html
“The Windows version of Python doesn’t include the curses module.”
Не то что не дружит, ее вообще там нет.

Область применения библиотеки довольно специфична нужны весомые аргументы для выбора ее как решения. Может вам попробовать wxpython, pyqt?

Так что читайте мануалы, совершенствуйтесь. Удачи в этом нелегком деле.
dmb_21
doza_and

Огромное вам спасибо, прежде всего, за вежливый, грамотный и более-менее развернутый ответ.
Честно сказать, я уже и отвык от таких ответов на форумах.
Обычно одно, два предложения, а далее при уточнениях: “кто ищет, тот всегда найдет… гугл знает все… привет семье и детям”. )
Вы не привели текст сообщения об ошибке. Не сказали какую версию библиотеки и питона используете.
Версия библиотеки, видимо, последняя. Я ее устанавливал через: pip install windows-curses. Версия питона 2.7.18 32bit потому, что в описании программы-скрипта для питона(с которой у меня проблемы), написано, что применять с версией 2.7. (перед этим устанавливал 64 битную версию 2.7.18 - не заработала). Пока оставил 32b. А по поводу сообщения об ошибке, я наверное, дам ссылку на этот скрипт-программу, может вы сами глянете. Вдруг у вас все будет нормально, а может и у вас не запустится и вы скажете, что бесполезно с ней мучиться - толку не будет. Но мне, кажется, что вы быстро сообразите что к чему, если судить по вашему первому ответу в треде. У вас, по-моему, все быстро заработает. Это я как слепой котенок - не знаю как к ней подступиться. Первый раз столкнулся с такой проблемой.

Я еще вот о чем подумал, что может когда писался этот скрипт (примерно 2017г) - версия curses была другая и скорее всего автор применял этот скрипт на Маке (судя по скрину). И еще у меня есть два варианта этого скрипта, которые я корректировал - путем отключения (закомментирования) некоторых строк кода и скрипт частично начинал работать. Если нужно - я могу скинуть эти варианты.

Ссылка на Гитхабе на проблемный скрипт:

doza_and, если поможете разобраться - буду ваш вечный должник.)) Мне этот скрипт понравился прежде всего из-за того, что на его базе можно повысить свои знания в Питоне (синтаксис и т.п.). Ну и в перспективе, попытаться переделать его под себя, а при экспериментах - знания тоже повышаются. Да и библиотека CURSES понравилась, если честно, своим минимализмом кода. ))

Пара интересных ссылок про CURSES:

Curses in Windows with PythonCurses in Windows with Python

Curses Programming in Python
xam1816
dmb_21
А то может она плохо дружит с windows?
Очень плохо дружит,библиотека скачивается,а основного модуля в ней нет,и curses переводится как проклятиеДля windows она изначально не предназначалась
dmb_21
библиотека скачивается,а основного модуля в ней нет,и curses переводится как проклятие
А второго значения - “ошибка” у перевода нет случайно, а то ходят слухи, что многие, под впечатлнением первого значения перевода - заблуждаются, ошибаются и делают неверные выводы

Вот такая картинка, вы думаете, может получиться без главного модуля?

Представляю, что CURSES мог бы отобразить - будь у него главный модуль
xam1816
dmb_21
Вот такая картинка, вы думаете, может получиться без главного модуля?
Нет не может,он же главный,или я рассуждаю не логично
dmb_21
Я ее устанавливал через: pip install windows-curses
если бы было все просто через эту строчку то наверное и темы бы не было,вот наверное проклятие перевод больше подходит,у меня попросил модуль _curses,





dmb_21
xam1816
Нет не может,он же главный , или я рассуждаю не логично
Вы только не обижайтесь на мои шутки, они у всех, бывают иногда, некоторые и неудачные. Я не со зла.
Если я где-то рассуждаю нелогично, так на но он и форум, чтобы более опытные форумчане тебя поправили.
у меня попросил модуль _curses
А у меня файлы _curses.pyd и _curses_panel.pyd присутствуют в папке site-packages.
Или это не то? Но с другой стороны, на моей картинке, которую я привел выше - все работает как надо.
Еще бы проблемный скрипт с Гитхаба, который у меня не работает - заставить бы так работать.
Было бы, вообще, здорово. Вы не знаете как это можно сделать?
Может с помощью, какой-нибудь хитрой, удаленной отладки или как-то еще?

xam1816
dmb_21
заставить бы так работать.
человек придумывал проект под свои какие-то задачи,как им пользоваться хз
у меня выводит

 usage: runpe.py [-h] [--file FILE] [--ss SS] [--len LEN] [--att ATT]
optional arguments:
  -h, --help   show this help message and exit
  --file FILE  PE file to run
  --ss SS      single step mode
  --len LEN    how many instructions to run
  --att ATT    AT&T disasm syntax

а что ему надо в аргументы подставлять,какие файлы,хз…
dmb_21
xam1816
а что ему надо в аргументы подставлять,какие файлы,хз…
Спасибо вам большое, что не прошли мимо моего горя
Сразу чувствуется, что вы пытаетесь помочь.
Я вам сечас все объясню.
В аргументы нужно подставлять следующее:

python runpe.py –file sample_x64.EXE

Где, sample_x64.EXE —> это название любого 64 битного exe-файла (для начала, наверное, взять какой-нибудь поменьше размером).

А с остальными аргументами там уже позже можно будет уточнить и разобраться.

Я думаю, что если с –file заработает, то и все остальное будет работать.

P.S. Перед file два тире (форум почему-то не отображает).
xam1816
 import curses
ins_win = curses.newwin(20, 140, 10, 10)

в _curses у меня функция newwin вот такая

 def newwin(*args, **kwargs): # real signature unknown
    pass

а у вас?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB