Просмотр полной версии : Генератор изображений - техническая тема, для программистов и интересующихся :)
Консольная версия генератора изображений на python :)
Сначала, дабы мотивировать использовать его, расскажу, чем он лучше :)
1. Он быстрее. Сильно быстрее. Вообще охренительно быстрый. Я даже не знаю, во сколько раз - ну в 10 так точно. При этом он позволяет использовать большее количество потоков (да, естественно, он многопоточный) без столь ощутимой нагрузки.
2. Он позволяет обрабатывать, на выбор:
- отдельные файлы;
- файлы в указанных папках;
- координаты (загружает спутниковые снимки)...
...В прочем, это всё уже было :) а вот чего не было:
- можно обрабатывать картинки по ссылками в интернете, не скачивая и не сохраняя их - достаточно указать адрес ссылки;
- списки - это вообще мега-удобно :) можно создать обычный текстовый файл, а в нём указать список из локальных файлов и/или координат и/или ссылок (каждую запись с новой строки), и указать генератору этот файл-список - он автоматически распознает и обработает всё, что там есть :)
- всё вышеуказанное сразу :)
Если вас это не впечатлило, вы ничего не понимаете в обработке изображений... :D
Где взять? Вот тут: http://generator.quantummagic.org/python/quantummagic.zip
Как пользоваться? Инструкция под Линукс:
0. В системе должен быть установлен python 2.7. Во всех линуксах, которые я видел, он есть по-умолчанию. А для питона должны быть установлены следующие модули: sys, locale, getopt, os, subprocess, re, mimetypes, time, requests, shutil, Image, ImageDraw, ImageFont. Не надо пугаться :) обычно они тоже есть по-умолчанию. Может не быть графических модулей, они ставятся так:
$ sudo apt install python-imaging
Или так (если предыдущий вариант не сработал):
$ sudo pip install pillow
Очень редко нет requests, ставится так:
$ sudo pip install requests
1. Распаковать скачанный архив, например, в домашнюю директорию (получим папку /home/username/quantummagic).
2. Запустить инсталлятор: $ sudo ~/quantummagic/install.sh
Да, sudo обязательно, иначе он не сможет выставить нужные ему права. В процессе он также скачает необходимые для работы исходники накладываемых изображений (они весят 407 мегабайт), поэтому необходим доступ к интернету. Дальше он будет работать с ними локально и интернет будет нужен только для скачивания спутниковых снимков, ну и для обработки файлов по ссылкам.
3. Запустить и изучить справку: $ ~/quantummagic/generator.py --help
Да, языков на данный момент поддерживается два: английский и русский, и язык определяется автоматически согласно настройкам ОС, но можно указать язык принудительно: $ ~/quantummagic/generator.py --help --lang=ru_RU или --lang=en_EN
Предполагаю, что под макосью также будет работать без танцев с бубном и даже без изменений вообще. Протестируйте, у кого мак.
Под виндой, думаю, тоже заработает. Позже поставлю питон на виртуалку и проверю. Если заработает, напишу инструкцию. Или, может, кто-то из пользователей разберётся и сделает? :)
Далее, несколько примеров, чтобы показать, что всё не так страшно :)
1. Обработать все файлы в папке ~/quantummagic/input/ Панацеей:
$ ~/quantummagic/generator.py --dir=quantummagic/input/ --panacea
Или, в варианте с короткими ключами:
$ ~/quantummagic/generator.py -d ~/quantummagic/input/ -p
Вариантов ключей на каждую опцию много, это сделано для того, чтобы набирать интуитивно, а не лезть каждый раз в справку. Например, Панацея может быть указана так: -p или --pana или --panacea.
2. Взять свою аватарку в социальной сети и обработать БЖ 2.1 и 3.0N:
$ ~/quantummagic/generator.py --url=https://pp.vk.me/c638216/v638216129/23415/Mmz_6cxnyIE.jpg --bj21 --bj30n
3. Загрузить спутниковые снимки Москвы в масштабе всего города (в уровнях масштабирования это будет примерно от 12 до 9) и обработать тремя трансляционными опциями:
$ ~/quantummagic/generator.py --coords=55.7498598,37.3523215 --zoom=12,9 --dusha --innerchild --elf
4. Запустить обработку спецсредством файлов, спутниковых снимков и ссылок в интернете. Сначала подготавливается текстовый файл-список, где на каждой строке - имя файла или координаты или ссылка. А далее:
$ ~/quantummagic/generator.py --list=list.txt --spec
Изучив опции, можно одной командой запускать такие обработки, которые в версии с графическим интерфейсом делаются десятками копипастов и кликов :) Собственно, я его и сделал-то для себя, когда понял, что, если я хочу пройтись генератором, например, по всем столицам Европы :) то мне как-то лениво 44 раза копировать координаты, тыкать в нужные опции (особенно когда надо не одна) и постоянно нажимать кнопку. Ну а потом дописал справку, увидев, что крутая вещь получилась :)
Все вопросы и сообщения о багах пишите сюда.
а что если для простоты скомпилировать версию для windows в отдельный экзешник через cx_Freeze (https://pypi.python.org/pypi/cx_Freeze)? тогда и необходимость установки интерпретатора отпадет.
Попробуйте :) исходник же открытый :)
После танцев с бубном удалось все установить. У меня устройство хранения Synology на Линуксе, но там пришлось все по другому ставить.
Вроде все встало, но фото не обрабатываются, пишет ошибку: "Непредвиденная ошибка: не удалось обработать файл". Куда копать?
ну вот например по вашей ссылке запустил:
root@DiskStation:/volume1/homes/admin# python quantummagic/generator.py --coords =55.7498598,37.3523215 --zoom=12,9 --dusha --innerchild --elf
Starting...
File loading: http://maps.googleapis.com/maps/api/staticmap?center=55.7498598,37 .3523215&size=640x640&maptype=satellite&sensor=false&zoom=9 => 55.7498598,37.352 3215_google_9.png
File loading: http://maps.googleapis.com/maps/api/staticmap?center=55.7498598,37 .3523215&size=640x640&maptype=satellite&sensor=false&zoom=10 => 55.7498598,37.35 23215_google_10.png
File loading: http://maps.googleapis.com/maps/api/staticmap?center=55.7498598,37 .3523215&size=640x640&maptype=satellite&sensor=false&zoom=11 => 55.7498598,37.35 23215_google_11.png
File loading: http://maps.googleapis.com/maps/api/staticmap?center=55.7498598,37 .3523215&size=640x640&maptype=satellite&sensor=false&zoom=12 => 55.7498598,37.35 23215_google_12.png
File loading: https://static-maps.yandex.ru/1.x/?z=9&size=650,450&l=sat&ll=37.35 23215,55.7498598 => 37.3523215,55.7498598_yandex_9.jpeg
File loading: https://static-maps.yandex.ru/1.x/?z=10&size=650,450&l=sat&ll=37.3 523215,55.7498598 => 37.3523215,55.7498598_yandex_10.jpeg
File loading: https://static-maps.yandex.ru/1.x/?z=11&size=650,450&l=sat&ll=37.3 523215,55.7498598 => 37.3523215,55.7498598_yandex_11.jpeg
File loading: https://static-maps.yandex.ru/1.x/?z=12&size=650,450&l=sat&ll=37.3 523215,55.7498598 => 37.3523215,55.7498598_yandex_12.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_9.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_9.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_9.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_10.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_10.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_10.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_11.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_11.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_11.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_12.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_12.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_12.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_9.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_9.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_9.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_10.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_10.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_10.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_11.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_11.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_11.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_12.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_12.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_12.jpeg
Done.
Файлы при этом успешно скачиваются, я так понимаю? Попробуйте какой-нибудь локальный файл обработать.
Сейчас при установке на один из своих серверов случилась аналогичная ситуация, анализ показал, что не установлены нужные модули, apt install python-imaging решил вопрос. Убедитесь, что модули установлены - просто запустите python и наберите import Image. Если не ругнётся - значит, установлены, будем думать дальше.
запустил, вот что пишет:
>>> import Image
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named Image
>>>
я устанавливал python-imaging не через apt, а через "sudo ipkg"
причем линуск ругнулся, что вместо install попробуйте update
я ввел sudo ipkg update python-imaging, он скачал файл апдейта и установил его.
Может все же этот модуль не встал?
Обновил до версии 1.03, ссылка та же, можно не переустанавливать, просто заменить файлы. Проверить версию можно запуском с ключом -v или --version. Теперь будет говорить внятно, если нет модуля. Также добавил режим отладки, включается ключом --debug, выдаваемые в этом режиме сообщения можно скопировать и написать мне, чтобы я понял, в чём проблема. Пробуйте :)
запустил, вот что пишет:
>>> import Image
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named Image
>>>
я устанавливал python-imaging не через apt, а через "sudo ipkg"
причем линуск ругнулся, что вместо install попробуйте update
я ввел sudo ipkg update python-imaging, он скачал файл апдейта и установил его.
Может все же этот модуль не встал?
Ага. Ну если говорит ImportError: No module named Image значит не встал :)
под windows встретил ту же самую ошибку: "ImportError: No module named Image".
помогла команда >pip install pillow (это замена команды sudo apt install python-imaging)
и затем модификация секции импорта в файле qmig.py на from PIL import Image, ImageDraw, ImageFont
Благодарю, обновил qmig.py в версии 1.04 и дополнил инструкцию.
И как оно под виндой, работает? :)
И как оно под виндой, работает? :)
весь вывод на русском - сплошные крякозябры) менял несколько раз кодировку в файле - не помогло. доразбираться пока не стал и вызываю с ключом принудительной смены языка на английский.
далее при запуске видим ошибку: File "Python27\lib\subprocess.py", line 347, in __init__
raise ValueError("close_fds is not supported on Windows "
ValueError: close_fds is not supported on Windows platforms if you redirect stdin/stdout/stderrо том что переназначение ввода/вывода на виндовс не поддерживается с параметром close_fds. разбираться опять же не стал, а удалил строчку
stdin=PIPE, stdout=PIPE, stderr=subprocess.STDOUTпосле чего имеем следующий traceback:
File "quantummagic\generator.py", line 494, in <module>
getAnswer(activeThreads[0])
File "quantummagic\generator.py", line 298, in getAnswer
out = thread[0].stdout.read().strip()
AttributeError: 'NoneType' object has no attribute 'read'но файлы обрабатываются как должно.
собираюсь написать GUI для вызова скрипта как только со всеми ключами ознакомлюсь. тогда иметь дело с командной строкой не придется в работе. плюс пытаюсь доделать полноценный инсталлятор на основе компилятора Boson.
Понятно :)
Попробуйте просто в строке 294 в generator.py заменить close_fds=True на close_fds=False а не удалять часть строки :)
Кодировку надо менять и самого файла, и указанную в заголовке исходника на второй строке.
собираюсь написать GUI для вызова скрипта как только со всеми ключами ознакомлюсь. тогда иметь дело с командной строкой не придется в работе. плюс пытаюсь доделать полноценный инсталлятор на основе компилятора Boson.
Это дело хорошее :) Я смотрел python gui, оно достаточно просто прикручивается. Но мне консольный вариант больше нравится :) (да, я понимаю, что большинству абсолютно не нравится :))
close_fds=False :)
вроде бы пробовал это вчера и не помогало. но вот сейчас сделал и теперь никаких warnings больше нет. спасибо :)
Сделал обновление до 1.05, прописал
close_fds=(False if os.name == 'nt' else True)
Кодировку удалось побороть? :)
Кодировку удалось побороть? :)
Удалось. Сначала пересохранил из UTF8 в ANSI оба файла engine.py и generator.py, а затем добавил команду >chcp 1251 в .bat файл перед вызовом скрипта.
Ну вот и я победил)). прилетело обновление Линукса на мой аппарат, заново установил imaging и все поехало)) (раньше на requests жаловался, хотя он был установлен).
Попробовал запускать на Python3, но там видимо синтаксис другой-> выдает ошибку на print __MESSAGES[message][lang]+opt
Кодировку удалось побороть? :)
как вариант можно ничего не перекодировать вовсе а перенаправить весь вывод скрипта в текстовый файл и просматривать его безо всяких ухищрений хоть стандартным блокнотом затем.
Например, чтобы сохранить сообщения скрипта о справке в файл log.txt в директорию запуска скрипта пишем:
generator.py --help > log.txt
Владимир Ш.
25.02.2017, 14:21
А можно вопрос от чайника? :-)
Распаковал в домашний каталог, запустил инсталятор, он закачал под 400 М source, далее пытаюсь запустить справку.
Команды пытаюсь копировать по-разному, не во всех случаях не получается ничего хорошего:
vladimir@dfgbnfbdf:~$ $ ~/quantummagic/generator.py --help
$: команда не найдена
vladimir@dfgbnfbdf:~$ ~/quantummagic/generator.py --help
No module named requests
vladimir@dfgbnfbdf:~$ ~/quantummagic/generator.py --help
No module named requests
vladimir@dfgbnfbdf:~$ /quantummagic/generator.py --help
bash: /quantummagic/generator.py: Нет такого файла или каталога
При том, что и каталог и файл такой однозначно есть,я их вижу :-)
У меня Xubuntu. Зашел под рутом (кажется, это так называется? :-) )
Заранее благодарю. И за советы, и за терпение к идиотским вопросам :-)
Владимир Ш.
25.02.2017, 19:10
UPD: Вопрос уже не актуален, проблема разрешилась (я, правда, так и не понял, как она разрешилась :-) Куда-то щелкал, что-то устанавливал... Отсутствовало нечто под названием pip, поэтому команда sudo pip install requests не работала).
Сейчас все в порядке, Обработал снимки Москвы по образцу на 1 странице. Интересные ощущения, мозг шевелится :-) Сейчас запущу еще что-нибудь обрабатывать.
Андрей, сотрите оба сообщения, плз.
По первой строке - $ копировать не надо :) этот символ в данном случае означает начало строки ввода и он автоматически присутствует, присмотритесь внимательно: vladimir@dfgbnfbdf:~$
В четвёртой строке неправильно указан путь. Корень файловой системы в линуксах это / а домашний каталог это /home/vladimir но также домашний каталог сокращённо обозначается ~ таким образом пути ~/quantummagic и /home/vladimir/quantummagic в вашем случае эквивалентны, но не путь /quantummagic - это означает папку quantummagic в корне.
Вторая и третья строка правильные, но у вас не установлен модуль requests, как его установить, я писал в первом посте:
sudo pip install requests
Долго я отвечал :)
Зачем стирать? Думаю, кому-то может оказаться полезно. Заодно видно, что всё не так уж и страшно с линуксом, и можно разобраться и запустить :)
А слелали, видимо, apt install pip :)
Владимир Ш.
25.02.2017, 19:44
А слелали, видимо, apt install pip :)
Да-да-да! Вот именно оно и было (что бы оно не означало :-)). Поставил чисто интуитивно и сейчас все работает.
Благодарю!
Ну тут всё просто :)
pip - это название менеджера пакетов (модулей) питона. В питоне есть разные модули, обеспечивающие нужный функционал, вот для генератора нужен, в том числе, модуль requests. Соответственно, чтобы поставить модуль, нужно сначала установить менеджер.
apt (он же apt-get) - это менеджер пакетов (приложений) линукса. В линуксе, в отличие от винды, когда вам нужна какая-то программа, вам не обязательно перерывать пол-интернета в поисках где её скачать (хотя таким способом тоже можно). Достаточно знать название и указать его менеджеру пакетов. Это как с программами для Панацеи :) Зная название, например, "Панацея-дом", вы можете "скачать и установить" данную программу, так и тут. Собственно, apt install pip "в переводе" означает: менеджер приложений apt, инсталлируй программу pip :)
Владимир Ш.
26.02.2017, 23:17
Вчера я попробовал; понял, что скорости моего компа явно недостаточно для сколько-нибудь масштабной обработки, и решил воспользоваться вот этой Вашей ссылкой (http://support.quantummagic.org/showpost.php?p=21276&postcount=196).
Плясал с бубном весь день; начитался всяких разных мануалов, даже Vesta CP установил (кто-нибудь, скажите мне, зачем?? А потомушта что люди писали, что нада:-) )... Как бы то ни было, оно сейчас работает. И периодически ругается на меня вот такими словами (https://yadi.sk/i/QwydvqY53EepMu) и еще вот так вот (https://yadi.sk/i/cm9HDjrq3EepPd).
Особенно смущает буквальный перевод участка, который я обвел красным... :-) :-) :-)
PS А при запущенной программе ее никак прервать нельзя? А то я ж не стал мелочиться и набор линков положил примерно из расчета на пару суток непрерывной работы; планировал, что там как раз SSD заполнится, я оттуда output скачаю и еще что-нибудь хорошее запущу.
Прервать выполнение можно нажав ctrl+c. По крайней мере, в линуксовом терминале так. У вас, я так понимаю, putty под виндой? Там вроде так же.
Естественно, если просто закрыть окно терминала, то процесс не прервётся, и ctrl+c тогда уже нажимать негде :) Тогда надо зайти заново и сделать:
$ killall generator.py
$ killall engine.py
($ здесь и далее не копируем :))
(кстати, вставка скопированной строки в терминале линукса делается ctrl+shift+v, а в putty под виндой, если правильно помню, нажатием правой кнопки мыши в строке терминала)
Ошибки говорят о том, что памяти не хватает. Попробуйте количество потоков и/или опций уменьшить. Как раз выбранные опции (спец, душа, ребёнок, эльф) - все очень нагрузочные, каждый поток с одной из этих опций сравним с несколькими десятками панацей, например. Ну и непонятно, чего вы там наставили, может, оно память жрёт :)
Вообще, по установке там всё просто :) Опишу с нуля, как надо. Сначала нужно создать новый дроплет (https://cloud.digitalocean.com/droplets/new) (старый удалите). Дистрибутив взять Убунту (он по-умолчанию выбран), размер для начала самый маленький (за 5$ в месяц), остальное оставить по-умолчанию. Больше ничего не надо. (На всякий случай сделал скрин.)
Дальше заходите через ssh, устанавливаете новый рут-пароль (система потребует при первом входе это сделать), и делаете $ apt install python-imaging
$ apt install unzip(остальное там по-умолчанию должно стоять)
Далее, правильно будет создать отдельного пользователя:
$ adduser username
username надо заменить на желаемое имя пользователя. В процессе нужно будет дважды ввести пароль для этого пользователя, дополнительную информацию можно не указывать (просто нажимать энтер), в конце подтвердить данные (энтер).
После этого появится также домашняя папка этого пользователя /home/username
Заходим в эту папку, качаем генератор, распаковываем, устанавливаем:
$ cd /home/username
$ wget http://generator.quantummagic.org/python/quantummagic.zip
$ unzip quantummagic.zip
$ quantummagic/install.sh
Всё, можно запускать :)
bobogan1
27.02.2017, 19:40
Странно, генератор при вводе координат генерирует серию разных масштабов хотя указан один масштаб?
Команду, которой запускаете, покажите. Масштаб указывается ключом --zoom, подробнее смотрите в справке (--help).
Владимирович
28.02.2017, 20:44
Запустил генератор на VPS, спасибо Saband за инструкцию! Правда, почему-то ручками пришлось доустанавливать пакеты. Но, ничего, разминка для мозгов :)
При работе генератора замечена ошибка:
Processed: 55.7498598,37.3523215_google_9+Inner child.png
Processed: 55.7498598,37.3523215_google_9+Elven.png
Processed: 55.7498598,37.3523215_google_10+Soul.png
Processed: 55.7498598,37.3523215_google_10+Inner child.png
Unexpected error: unable to process file: /home/alex/quantummagic/output/55.7498598,37.3523215_google_10.png
Processed: 55.7498598,37.3523215_google_11+Soul.png
Processed: 55.7498598,37.3523215_google_11+Inner child.png
Processed: 55.7498598,37.3523215_google_11+Elven.png
Processed: 55.7498598,37.3523215_google_12+Soul.png
Еще, при попытке выполнить команду sudo была ругань типа что рядовой пользователь не входит в файл sudoes... Все установки выполнял в руте. Я так понял, что надо этого рядового юзера включить в группу администраторы. Пока не разобрался как сделать это- или каким-то образом изменить его права и принадлежность или нафиг заново создать с соответствующими правами если можно :)
И еще просьба- расскажите как можно быстро VPN поднять ? :)
Благодарю!
Ну если вы под рутом, то sudo писать не надо :) sudo означает superuser do, а рут и есть суперюзер.
VPN делается так.
1. Регистрируемся (https://m.do.co/c/58abd9096e63) (кто уже - пропускаем этот пункт).
2. Создаём новый дроплет (https://cloud.digitalocean.com/droplets/new). При этом выбираем вкладку One-click apps и там Docker (версию самую свежую, на момент написания инструкции это Docker 1.13.1 on 16.04). См. скрин, если не понятно. Также есть смысл обратить внимание на физическое расположение датацентра (Choose a datacenter region), так как ваш ip-адрес после подключения будет соответствовать ip датацентра.
3. Заходим на сервер по ssh, устанавливаем рут-пассворд... в общем, всё стандартно.
4. Выполняем в консоли под рутом:
$ CID=$(docker run -d --restart=always --privileged -p 1194:1194/udp -p 443:443/tcp umputun/dockvpn)
Ждём :) Когда выполнится, выполняем следующее:
$ docker run -t -i -p 8080:8080 --volumes-from $CID umputun/dockvpn serveconfig
5. В результате появится http-ссылка с ip-адресом, вида https://123.456.789.123:8080/ - переходим по ней (ctrl+клик или скопировать или руками набрать в браузере :)), браузер может ругнуться на сертификат, игнорируем ("добавить исключение безопасности" вроде называется), в итоге предлагается загрузить файл, сохраняем его и переименовываем в, например, myvpn.ovpn :) В консоли после этого нажимаем ctrl+c.
6. Использованный файл используем в качестве конфиг-файла для openvpn-клиента. Всё :)
Реально в наше время VPN - фактически необходимая вещь...
Владимирович
01.03.2017, 08:42
Ну если вы под рутом, то sudo писать не надо :) sudo означает superuser do, а рут и есть суперюзер.
Ну это я как бы слегка понимаю :). sudo выполнял от имени простого пользователя и была ругани по этому поводу... Переключился на рута и все сделал...
За инструкцию спасибо!
Буду разбираться...
Владимирович
01.03.2017, 09:19
Попробовал сделать по инструкции. Выскочили ошибки.
Каких-то картинок не находит и репозитория.
root@docker-512mb-lon1-01:~# (docker run -d --restart=always --privileged -p 119 4:1194/udp -p 443:443/tcp umputun/dockvpn)
Unable to find image 'umputun/dockvpn:latest' locally
latest: Pulling from umputun/dockvpn
765826873799: Pull complete
e7a187926114: Pull complete
fd01d4f3de3b: Pull complete
c704fce22a3c: Pull complete
a6a742cd33cf: Pull complete
36fae912e709: Pull complete
1639dfe3f927: Pull complete
c3502b0494f9: Pull complete
Digest: sha256:dd37d17d5f4d519ed0989145b2696892bf9140916c7 8463700490a4ce8a0ec28
Status: Downloaded newer image for umputun/dockvpn:latest
b3e288ae2a9a8e16d90882cf60113846552016659c6b670862 374c14d33e9a4f
root@docker-512mb-lon1-01:~# docker run -t -i -p 8080:8080 --volumes-from $CID umputun/dockvpn serveconf ig
Unable to find image 'serveconfig:latest' locally
docker: Error response from daemon: repository serveconfig not found: does not exist or no pull access.
See 'docker run --help'.
root@docker-512mb-lon1-01:~#
А скопировать ровно то, что я написал в инструкции - не? :) У вас первая же строка неправильно скопирована.
В версии 2.5.0.0 под Виндой (7) при установке кнопка выбора пути недоступна (серая). Т.е. ставится только в путь по умолчанию. У меня системный диск SSD, место критично. Пока так поставил.
Да, путь при установке менять нельзя. Можно перенести после установки. Для этого достаточно переместить папку C:\Program Files\QuantumMagic\ в любое удобное место, а затем прописать вручную новый путь в:
- строке 108 в файле QuantumMagic\quantummagic.ini
- строках 383, 473, 496 в файле QuantumMagic\php\php.ini
Владимирович
02.03.2017, 21:29
А скопировать ровно то, что я написал в инструкции - не? :) У вас первая же строка неправильно скопирована.
Блин, косяк... :) Не по тому символу "$" отчекрыжил... :)
В общем, победил это дело наполовину только. Запустил только из дома.
С рабочего компа так и не удалось. Все нормально устанавливается, но на этапе подключения по ссылке через затык полный. Браузер говорит что страница отсутствует. Пинг тоже не идет. Затык на айпишнике 7.7.7.129.
Успел попробовать на 2-х датацентрах - Лондон и Франкфурт. Результат одинаковый. Дома через Франкфурт получилось.
bobogan1
04.03.2017, 13:41
Кстати разобрался с масштабом (просто нужно указать не один а два масштаба 19,18 например).
Кстати разобрался с масштабом (просто нужно указать не один а два масштаба 19,18 например).
Ну да... Это в хелпе чётко указано, да и в логе ошибку напишет.
можно тестировать графический интерфейс для windows (https://yadi.sk/d/JvK55dP53F8hGg)
exe-файл надо либо размесить в каталоге со скриптом, либо указать расположение скрипта в соответствующем поле. основное преимущество - это возможность чтения сообщений скрипта на русском языке :) потому что вывод в консоль русифицировать так и не удалось. точнее удалось но если набрать перед вызовом команду смены кодовой страницы на юникод (chcp 65001) то скрипт на середине вывода вылетает с загадочной ошибкой File "generator.py", line 408, in <module>
print __HELP[lang]
IOError: [Errno 2] No such file or directoryдругой источник ошибки это путь к скрипту, который содержит пробелы. такой путь должен экранироваться двойными кавычками в виндовс-консоли. возможно будет пофиксено, но сейчас надо самостоятельно убедиться, что в пути вызова скрипта отсутствуют пробелы. кнопка "создать окружение" позволяет распаковать файлы скрипта из exe файла (если требуется на новой машине), создать необходимые каталоги и запустить на скачивание архив с изображениями для каталога sources.
Но от предварительной установки питона это не спасает? :)
Верно, питон должен быть предустановлен вместе со всеми пакетами. Долго возился с созданием портативной версии через разные питоновские-компиляторы, но не смог победить ошибку создания директории на которую скрипт ругается во всех вариантах. Скорей всего это связано с путями в виртуальном окружении, которые тоже корректировал по всякому но в результате хоть папки и стали создаваться по факту - сама ошибка при этом не исчезла и обработанные файлы не создаются внутри..
Надо тогда написать инструкцию по установке всего этого дела с нуля и можно публиковать в общей теме и на страничке генератора... :)
инструкция может выглядеть примерно так:
1. Cтавим питон отсюда (https://www.python.org/ftp/python/2.7.13/python-2.7.13.msi)не забывая указать опцию "Add python.exe to Path" как показано на изображении
https://ok1kvk.cz/clanek/2016/instalace-platformio/python-path.png
2. Копируем экзешник (https://yadi.sk/d/yWKJUlPY3FBeqE) в любую удобную папку не содержащую пробелов в своём пути (например, "Program Files" не годится).
3. Запускаем программу QMgenerator.exe и нажимаем там кнопку "Создать окружение". Будут выполнены команды по установке необходимых модулей:
pip install pillow
pip install requestsа также начнется скачивание через браузер архива с изображениями, который необходимо будет распаковать в папку sources, расположенную там же где и программа. Рабочие файлы скрипта будут извлечены из программы автоматически.
4. Можно работать, выбирая режимы и опции. В "режиме отладки" выводится окно консоли со всеми сообщениями, но тогда следует выбрать английский язык для их читаемости. В "тихом режиме" окно программы "замораживается" до окончания операций обработки. То есть запустить новую задачу до окончания предыдущей будет невозможно.
bobogan1
07.03.2017, 18:16
Круто, очень быстро работает. Спасибо :)
AVi, saband, Благодарю! :)
bobogan1
08.03.2017, 16:12
А исходник этого скрипта на GUI шибко сложный, новые кнопки добавить реально?
А если при нажатии "Сгенерировать изображения" вылезает такое: No module named requests. Что я делаю не так? :)
bobogan1
08.03.2017, 16:45
тут же в консоли пишешь (pip install requests), он должен его загрузить. Но мне пришлось еще и pip install pillow грузить.
ага, заработало. спасибо)
А исходник этого скрипта на GUI шибко сложный, новые кнопки добавить реально?
исходник не сложный. компилируется в Delphi 7. выкладывать? или если востребована новая функция - могу сам добавить.
bobogan1
08.03.2017, 20:31
Можно, но задачу я решил проще. Подменил картинки в исходниках, а названия файлов сохранил прежними. Т.е. например, я не пользуюсь пробиотиком, озоном и oz1, вместо них у меня активированные картинки конструктора связей. Все работает. В исходнике я просто изменю подписи на свои и скомпилирую. Можно и в личку, т.к. я думаю другим это не особо нужно. С дельфи разберусь.
Кстати, в генераторе есть три режима вывода :) по-умолчанию, тихий режим (-s или --silent) и режим отладки (--debug). В интерфейсе их почему-то только два :) причём отсутствует самый удобный, по-умолчанию.
На самом деле, в интерфейсе отсутствует тихий режим (с ключом -s). Режим "по-умолчанию" работает при выборе "тихого режима" ..
задачу я решил проще. Подменил картинки в исходниках, а названия файлов сохранил прежними.
Да, у меня давно появилась мысль сделать универсальное приложение, где пользователь мог бы загружать любые свои собственные файлы для наложения. Сейчас проектирую мобильное приложение, где будет выводится изображение с камеры и на него сразу будет приклеиваться с нужной прозрачностью любое указанное изображение. Ну, чтобы можно было повесить телефон, допустим, в режиме видеорегистратора на лобовое стекло в автомобиле и попутно опанацеить всю дорогу до офиса..
Можно и в личку
отправил.
bobogan1
09.03.2017, 04:03
Спасибо. По поводу мобильного приложения :). Задачу решил так, два ноутбука дома подключены в TeamViewer (на одном винда на другом линукс) управляю ими через смартфон. Не очень удобно, но если сделать заготовки заранее, то и нормально.
bobogan1
11.03.2017, 08:33
Нашел еще один момент(под винд). В папке input 230 файлов, в папке output 113 файлов. Похоже где то лимит стоит.
В папке input 230 файлов, в папке output 113 файлов.
я бы в сторону имени файла смотрел. может быть и там пробелы не поддерживаются или какие-то спецсимволы присутствуют на которых он спотыкается. желательно сравнить папки, разыскать файл, который не попал в output, прогнать его отдельно в режиме отладки и посмотреть на сообщения об ошибках.
bobogan1
11.03.2017, 13:36
В обычном(при запуске с жесткого диска) режиме все работает, а вот на виртуальном RAM диске вырубает (диск 1.5 ГБ система FAT либо FAT32, input файлов 282 вырубает на output 82 файла запускал АТ2.0 и АТ5). Переполнения оперативы нет, виртуальный диск не переполнен. Проверял правда на одном ноутбуке. Он у меня основной трансляционный так сказать :).
Похоже это все таки проблемы ноутбука, и на жестком диске вырубается у него. Так что вопрос снят :(. В режиме отладки работает и на этом ноутбуке.
Установил Ubuntu 14.04 и ПВВ версии 1.05.Всё работает,кроме файлов-списков.Пишет:Ошибка: файл не найден: ostankino_tele_list.txt/Чего нет так,подскажите?:)Он же по названию ищет?
Либо путь неправильный, либо опечатка в названии. Покажите команду целиком.
Предлагаю рабочую идею как запускать ПВВ с телефона,в режиме "снял и обработал" ну почти-в три клика.
ПВВ стоит на хостинге предложенном Вами вот здесь (http://support.quantummagic.org/showpost.php?p=21276&postcount=196)
там создается скрипт из двух строчек - переход в нужную директорию
и запуск генератора со всеми необходимыми параметрами.
Скрипту даем права на выполнение chmod +x <script name>
на телефоне ставим из маркета sftp клиент AndFTP для загрузки снятой фотографии,и для удаленного запуска скрипта - SSH button.Их соответственно настраиваем.
Получается так- снимаем,из галереи на нужной фотке выбираем - поделиться и из списка программ AndFTP,фото пересылается автоматически куда надо,затем запускаем SSH button и кликаем на кнопке запуска скрипта.Дальше отслеживаем ощущения и радуемся :)
Правда стоит соблюдать умеренность,я как только настроил,покликал на радостях раз 15 за пол дня,потом ночь не спал из за перегруза :)
vladmoskva
18.07.2020, 19:46
На винде ошибкаSyntaxError: invalid syntax
Unexpected error: unable to process file: C:\QuantumMagic\input/JaneYandex.png
Traceback (most recent call last):
File "C:\QuantumMagic\engine.py", line 6, in <module>
import sys, os, getopt, math, qmig
File "C:\QuantumMagic\qmig.py", line 4, in <module>
from PIL import Image, ImageDraw, ImageFont
File "C:\Program Files\Python\lib\site-packages\PIL\Image.py", line 438
raise OSError("decoder %s not available" % decoder_name) from eчто делать???
Консольная версия генератора изображений с цифровой панацеей на php.
Особенность: работа в бесконечном цикле. Растягиваем удовольствие :)
Скачать (https://mega.nz/file/hydWzZ4K#1rj7UGVhIuXl3hgoup4XCeDFFE2gQORlEIc2XqcIX 8U)
Запуск:
php run.php <папка с картинками>
Нужны PHP >= 8.2 и GD extension.
vBulletin® v3.8.8, Copyright ©2000-2025, vBulletin Solutions, Inc. Перевод: zCarot