QuantumMagic

QuantumMagic (https://support.quantummagic.org/index.php)
-   Самоделки QuantumMagic/OpenMagic (https://support.quantummagic.org/forumdisplay.php?f=20)
-   -   Генератор изображений - техническая тема, для программистов и интересующихся :) (https://support.quantummagic.org/showthread.php?t=301)

saband 22.02.2017 02:18

Re: Простые волшебные вещи. Генератор изображений
 
Цитата:

Сообщение от Аварт (Сообщение 21282)
запустил, вот что пишет:
>>> 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 значит не встал :)

AVi 22.02.2017 03:21

Re: Простые волшебные вещи. Генератор изображений
 
под windows встретил ту же самую ошибку: "ImportError: No module named Image".
помогла команда >pip install pillow (это замена команды sudo apt install python-imaging)
и затем модификация секции импорта в файле qmig.py на from PIL import Image, ImageDraw, ImageFont

saband 22.02.2017 03:55

Re: Простые волшебные вещи. Генератор изображений
 
Благодарю, обновил qmig.py в версии 1.04 и дополнил инструкцию.
И как оно под виндой, работает? :)

AVi 22.02.2017 10:51

Re: Простые волшебные вещи. Генератор изображений
 
Цитата:

Сообщение от saband (Сообщение 21287)
И как оно под виндой, работает? :)

весь вывод на русском - сплошные крякозябры) менял несколько раз кодировку в файле - не помогло. доразбираться пока не стал и вызываю с ключом принудительной смены языка на английский.
далее при запуске видим ошибку:
Код:

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.

saband 22.02.2017 11:07

Re: Простые волшебные вещи. Генератор изображений
 
Понятно :)
Попробуйте просто в строке 294 в generator.py заменить close_fds=True на close_fds=False а не удалять часть строки :)
Кодировку надо менять и самого файла, и указанную в заголовке исходника на второй строке.

Цитата:

собираюсь написать GUI для вызова скрипта как только со всеми ключами ознакомлюсь. тогда иметь дело с командной строкой не придется в работе. плюс пытаюсь доделать полноценный инсталлятор на основе компилятора Boson.
Это дело хорошее :) Я смотрел python gui, оно достаточно просто прикручивается. Но мне консольный вариант больше нравится :) (да, я понимаю, что большинству абсолютно не нравится :))

AVi 22.02.2017 11:11

Re: Простые волшебные вещи. Генератор изображений
 
Цитата:

Сообщение от saband (Сообщение 21291)
close_fds=False :)

вроде бы пробовал это вчера и не помогало. но вот сейчас сделал и теперь никаких warnings больше нет. спасибо :)

saband 23.02.2017 01:59

Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
 
Сделал обновление до 1.05, прописал
Код:

close_fds=(False if os.name == 'nt' else True)
Кодировку удалось побороть? :)

AVi 23.02.2017 02:39

Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
 
Цитата:

Сообщение от saband (Сообщение 21304)
Кодировку удалось побороть? :)

Удалось. Сначала пересохранил из UTF8 в ANSI оба файла engine.py и generator.py, а затем добавил команду >chcp 1251 в .bat файл перед вызовом скрипта.

Аварт 23.02.2017 14:33

Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
 
Ну вот и я победил)). прилетело обновление Линукса на мой аппарат, заново установил imaging и все поехало)) (раньше на requests жаловался, хотя он был установлен).
Попробовал запускать на Python3, но там видимо синтаксис другой-> выдает ошибку на print __MESSAGES[message][lang]+opt

AVi 23.02.2017 15:45

Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
 
Цитата:

Сообщение от saband (Сообщение 21304)
Кодировку удалось побороть? :)

как вариант можно ничего не перекодировать вовсе а перенаправить весь вывод скрипта в текстовый файл и просматривать его безо всяких ухищрений хоть стандартным блокнотом затем.
Например, чтобы сохранить сообщения скрипта о справке в файл log.txt в директорию запуска скрипта пишем:
Код:

generator.py --help > log.txt


Текущее время: 04:37. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot