Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 1, 2021 04:40:31

dmb_21
Зарегистрирован: 2021-02-01
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с библ/модулем CURSES

Всем доброго времени суток.

Кто-нибудь сталкивался когда-нибудь с библиотекой 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 - ничего не дает.
Просто отображается исключение и далее отладка прекращается.
Из-за чего исключение, как, что… - непонятно?

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

Заранее спасибо.

Отредактировано dmb_21 (Фев. 1, 2021 04:43:46)

Офлайн

#2 Фев. 1, 2021 05:22:13

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Проблемы с библ/модулем CURSES

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?

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



Отредактировано doza_and (Фев. 1, 2021 05:26:47)

Офлайн

#3 Фев. 2, 2021 00:09:55

dmb_21
Зарегистрирован: 2021-02-01
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с библ/модулем CURSES

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

Офлайн

#4 Фев. 2, 2021 16:14:31

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1308
Репутация: +  112  -
Профиль   Отправить e-mail  

Проблемы с библ/модулем CURSES

dmb_21
А то может она плохо дружит с windows?
Очень плохо дружит,библиотека скачивается,а основного модуля в ней нет,и curses переводится как проклятиеДля windows она изначально не предназначалась

Отредактировано xam1816 (Фев. 2, 2021 16:15:19)

Офлайн

#5 Фев. 2, 2021 17:19:02

dmb_21
Зарегистрирован: 2021-02-01
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с библ/модулем CURSES

библиотека скачивается,а основного модуля в ней нет,и curses переводится как проклятие
А второго значения - “ошибка” у перевода нет случайно, а то ходят слухи, что многие, под впечатлнением первого значения перевода - заблуждаются, ошибаются и делают неверные выводы

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

Представляю, что CURSES мог бы отобразить - будь у него главный модуль

Офлайн

#6 Фев. 2, 2021 19:15:06

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1308
Репутация: +  112  -
Профиль   Отправить e-mail  

Проблемы с библ/модулем CURSES

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





Отредактировано xam1816 (Фев. 2, 2021 19:15:42)

Офлайн

#7 Фев. 2, 2021 20:03:44

dmb_21
Зарегистрирован: 2021-02-01
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с библ/модулем CURSES

xam1816

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

Отредактировано dmb_21 (Фев. 2, 2021 20:04:49)

Офлайн

#8 Фев. 2, 2021 20:50:51

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1308
Репутация: +  112  -
Профиль   Отправить e-mail  

Проблемы с библ/модулем CURSES

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

а что ему надо в аргументы подставлять,какие файлы,хз…

Офлайн

#9 Фев. 2, 2021 21:17:54

dmb_21
Зарегистрирован: 2021-02-01
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с библ/модулем CURSES

xam1816

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

python runpe.py –file sample_x64.EXE

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

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

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

P.S. Перед file два тире (форум почему-то не отображает).

Отредактировано dmb_21 (Фев. 2, 2021 21:24:16)

Офлайн

#10 Фев. 2, 2021 21:31:56

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1308
Репутация: +  112  -
Профиль   Отправить e-mail  

Проблемы с библ/модулем CURSES

 import curses
ins_win = curses.newwin(20, 140, 10, 10)

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

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

а у вас?

Отредактировано xam1816 (Фев. 2, 2021 21:32:33)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version