31 May 2020

Питон Анаконда Паук

Вернемся к Питону.

Как я ранее говорил, мне нужен был Питон с научными библиотеками и поэтому я выбрал дистрибутив Анаконда. При его установке - а после распаковки он представляет из себя sh-скрипт - никакие ярлыки не ставятся. Что, впрочем, не мешает ее запускать из терминала из командной строки - при моем отношении к этому как к хобби - это не напрягает.
Я посмотрел состав дистрибутива и начал со среды разработчика Spyder как наиболее мне знакомой и понятной, как разработчику.
Если проект представляет из себя один файл - а в случае той же SEIRD модели так у меня и получилось - то просто запускаешь и все работает.

В составе Spyder есть возможность пройтись по точкам остановки с инспекцией переменных - это сделано удобно.

Однако мне было интересно сравнение полученных модельных данных с реальными данными. Для этого на первых порах я использовал штатную библиотеку matplotlib, идущую в составе Анаконды.

Внутри Spyder графики показываются на отдельной вкладке и можно открыть их отдельным окном, на снимке показано где.


Для первых прогонов данных этого вполне достаточно

О скриншотах и Святом Вине

Ранее в посте о Nomacs я указал, что попробую поставить shutter - итак, поставил и ... снес.

За час были попробованы разные программы по созданию/редактированию.

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

Далее был попробован Pinta - и тоже снесен.
Pinta добавляет инструментарий для работы со слоями и элементарный кроп у него делается хитро - он неудобен.

Далее был пропробован Ksnip - но тоже снесен - он также не имеет вставки с буфера обмена. Кроме того если ты ничего не поменял в изображении, то и нет кнопки сохранить - она неактивна.

Решение оказалось банальным - через WINE приямо в установке программ на Убунте можно поставить ... IrfanView
,,, и все сразу встало на свои места - можно копировать с буфера обмена и можно редактировать и простой привычный кроп.


О Nomacs и пустых полях

Для выкладывания предыдущего поста я использовал Nomacs
Однако его исполнение кропа может оставлять пустые поля вокруг картинки
Наглядно это видно если в Files открыть сохраненный файл



Поэтому попутно разыскивается способ создания снимков более удобным способом.
Второй недостаток Nomacs состоит в том, что он не позволяет редактировать картинку в плане рисования графических примитивов - скажем мне нужно обвести нужный пункт меню красным прямогульником, чтобы акцентировать на это внимание. Тут Nomacs ничего мне предоставить не может.

Поэтому буду смотреть другой вариант - Shutter - сохраню себе ссылку на пост в Хабре где это описывается: Shutter — почти идеальная программа для создания скриншотов

P.S. Попутно выясняется что еще и blogger использует белую рамку вокруг изображения...
Сразу запомню для себя свеженайденный рецепт - How To Remove Border And Shadow Around Images On Blogger

О скриншотах в Убунту

Как я ранее писал я поставил Nomacs для того, чтобы разбираться минимально с графикой.

Однако сам процесс получения скриншотов оказался неочевидный.
Допустим, мне надо показать где выпадает элемент меню, которым нужно воспользоваться. Если я буду использовать стандартную комбинацию Ctrl-PrtScr то получу копию изображения без него, хотя обычно в Windows я просто нажимаю PrtScr и получаю что мне нужно.

Есть трюк, который позволяет это сделать - надо запустить программу Screenshot



После этого в ее свойствах надо выбрать снимок через промежуток времени


в данном случае это 7 секунд.
После этого мы запускаем задержку, переключаемся на нужное нам приложение, отмечаем выпадающий пункт меню и ждем...

Через указанный промежуток времени экран моргает и делается снимок, который можно сохранить, а можно вставить в буфер обмена.
Я обычно использую второе, потом вставляю в программу-просмотрщик, выделяю нужную мне область и уже позже сохраняю

Получаем к примеру такое


Снимок экрана готов!

30 May 2020

О ведении блога в blogger

Блог был задуман как набор по возможности небольших постов чтобы запомнить для себя и структурировать информацию.

Поэтому сразу же для себя запомню один документ - начальное руководство по ведению блога.
Проектирование блога на платформе blogger
Потом посмотрю уже детально - изучать надо постепенно.

Убунта - о нужных утилитах

Сама по себе Убунта была выбрана потому что в ней много чего есть сразу из коробки - тот же офис. Кроме того она бесплатна - это если задаваться вопросом - почему я не поставил на виртульную машину Windows. Сам же способ - сделать виртуальную машину - был сделан чтобы не чистить основную операционную систему если мне надоест играться - для этого достаточно будет удалить виртуальную. Ровно также проще делать ее резервные копии и восстанавливать при желании.

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

Под Windows я использую для этого IrfanView но для убунту его нет
Пришлось поставить nomacs

Правда мне не очень понятно почему кроп залезает выше размера изображения - но с ним вполне комфортно можно работать.

Вторая нужная утилита - текстовый редактор.
Опять же в чистом виде Notepad++  в убунту нет, поэтому был поставлен NotepadQQ

Третья нужная утилита - тестовый редактор консольный ибо NotepadQQ не может по умолчанию открывать файлы в каталогах, начинающихся с точки ( например  .anaconda )  -  для этого был поставлен известный мне с 90-х joe editor.



Убунта и русская клавиатура


У меня установлена Ubuntu 20.04 LTS
Изначально я пользовался ей чисто в английском варианте - в том числе по мере моих игр с Питоном.

Однако для размещения блога имеет смылсл писать прямо с нее - посему потребовалось поставить русскую раскладку - при этом оставив все оригинальное англоязычное ( мне так удобнее ).
Саму раскладку добавить через settings - не такя большая проблема, а вот для ее переключения система хочет три клавиши, что неудобно при привычном мне Alt-Shift

Посему был найдет вот такой ролик который объясняет суть


Но в этом ролике уже система русифицирована, поэтому подсказываю
  • дополнительные настройки называются tweaks
  • далее идем в Additional layout options
  • далее в Switching to another layout
  • и вот там задаем переключение

27 May 2020

Питон - вторая серия - начало

Первый раз с Питоном я баловался наверное лет 7 назад
Второй раз интерес возник когда решил поиграться с моделями эпидемий, а конкретно - SEIR

Нужно было что-то что решает численно дифференциальные уравнения. На выбор было

  • Написать это прямо в Excel посредством VBA
  • Поискать что-то научное - типа свободного Madcad
  • Поискать по языкам программирования что содержат библиотеки для этого

Первый вариант был тоскливым и был откинут сразу
По второму я ничего не нашел - ну точнее там пришлось бы диффур самому "программировать" пользуясь  встроенным математическим языком системы
Третий вариант показался  мне удачным, ибо Питон содержит огромное количество математических библиотек

Началось с этой ссылки
Simulating Compartmental Models in Epidemiology using Python & Jupyter Widgets

С самой страницы есть ссылка на Гитхаб с исходниками в формате Jupiter Notebook

SEIRD Simulator in Python.ipynb

Для изучения сделал на своем ноутбуке виртуальную машину, поставил туда Убунту.
В качестве дистрибутива была выбрана научная Анаконда, которая скачивается в виде архива, распаковывается в sh-скрипт и его запуском ставится