Автор Тема: Как запустить сккрипт Python на web-сервере?  (Прочитано 3463 раз)

Оффлайн ice99

  • Житель
Написал маленький скрипт (конвертация модели).
Скрипт отличнно работает на Win7 x64.
Запускаю его из командной строки
Код
C:\SOFT\blender-2.79-windows64\blender.exe --debug-all --background --python myscript.py
Скрипт берет файл одного типа, и создаёт файл другого типа.
Работает как часы.
Возникла необходимость разместить эту возможность на веб-сервере в интернете.
т.е. пользователь грузит свой формат, а на выходе получает другой.
Загрузкf, обработка php - это понятно. Вопросы следующие:
1. Какую версию Blender-а использовать (Линуксовую?)
2. Как будет выглядить синтаксис запуска моего скрипта?


Оффлайн ice99

  • Житель
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #2 : 08 Декабрь 2017, 23:59:09 »
... суть же не в версии, какая у тебя стоит серверная ОС? ...
https://stackoverflow.com/questions/23563809/php-running-a-python-script-using-blender-from-a-php-project-using-cmd-commands
https://blender.stackexchange.com/questions/40488/running-a-blender-script-on-linux-hosting

Может я неправильно сформулировал.
Я хочу организовать это на хостинге (допустим beget). т.е. система "не моя". Так вот какими модулями должен обладать хостинг, чтобы я мог выполнить свою задачу? Наличие Python-а, php понятно. А сама платформа (Linux)?

Оффлайн Николай Николаев

  • Житель
  • emerge --keep-going
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #3 : 09 Декабрь 2017, 00:12:51 »
... мало вероятно, чтобы дешевый план давал бы такие возможности ...
... если система не твоя, то лучше связаться с сапортом и задать её прямой вопрос, суть - не все йогурты одинаково полезны ...
... и опять же - чтобы запустить blender на сервере нужно еще бибилиотечное окружение даже если он не будет использовать GUI ...

Оффлайн ice99

  • Житель
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #4 : 09 Декабрь 2017, 17:29:54 »
Привожу ниже переписку с суппортом
---------------------
Антон Борисович
Служба технической поддержки

12:59
Здравствуйте.
Насколько я вижу по документации blender, в его зависимости входит OpenGL. Эта графическая библиотека не установлена у нас по умолчанию, однако и установить её не представляется возможным - для этого необходим соответствующий графический чип, который по умолчанию не установлен ни на одном из наших серверов.
К сожалению, реализовать ваш проект на нашем хостинге не удастся.
---------------
Я
Спасибо, большое за консультацию, но хотел бы заметить, что “выполнение скрипта python через blender” - НЕ ТРЕБУЕТ запуска GUI-оболочки Blender-а, и происходит в КОНСОЛЬНОМ режиме. Насколько я понимаю OpenGL нужен для визуального отображения GUI (т.к. это трехмерный редактор).
А в консольном режиме OpenGL не нужна (основное приложение blender не запускает окон, и работает только с о своими python скриптами. ).
Я бы даже поставил вопрос по-другому.
ВОЗМОЖНО ЛИ ЗАПУСТИТЬ LINUX ПРИЛОЖЕНИЕ НА ВАШЕМ ХОСТИНГЕ?
Понимаю, что речь о Blender, но я на 99% уверен что OpenGL не будет проблемой, т.к. ни одного окна создаваться не будет.
------------------
Антон Борисович
Служба технической поддержки

14:03
Тот факт, что библиотека является графической, не означает, что она используется для отрисовки GUI, можете убедиться в этом на примере утилиты hashcat.
Часто, она используется только для доступа к вычислениям на графическом устройстве, которые в отдельных случаях (как например рендеринг 3D-модели, или майнинг) происходят на несколько порядков быстрее, чем на CPU.
ВОЗМОЖНО ЛИ ЗАПУСТИТЬ LINUX ПРИЛОЖЕНИЕ НА ВАШЕМ ХОСТИНГЕ?
У любого linux-приложения есть зависимости, и ответ на ваш вопрос будет меняться от приложения к приложению.
В любом случае, если вы считаете, что приложение будет работать корректно, вы можете скачать бинарный файл (или исходный код) на домашней странице blender и попробовать запустить (скомпилировать в виртуальном окружении Docker) его.
------------



т.е. меня послали в направлении Docker(он есть на beget.ru) - контейнеризация приложений.
попутно нашел задокеренный Blender https://hub.docker.com/r/ikester/blender/

Пробую разобраться с новой темой (голова кругом).

Есть у кого реальный опыт работы с Докером?

Оффлайн Николай Николаев

  • Житель
  • emerge --keep-going
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #5 : 09 Декабрь 2017, 19:11:53 »
>> К сожалению, реализовать ваш проект на нашем хостинге не удастся.
>> Пробую разобраться с новой темой (голова кругом).
... войди в положение хостера - для этого поставь у себя  виртуальную машину, установи в ней консольный линукс без DE и WM, и попытайся в него залить blender - стандартная сборка будет ругать на отсутствие кучи библиотек ...
... найди эти библиотеки и попытайся предоставить путь к ним для blender, возможно после этого он запустится в консольном режиме с этим библиотечным окружением, но не факт, что без сегфайлта ...
... само по себе твоё желание оправдано, и возможно есть реализации, пинай эту тему дальше, решение должно быть ...
... если у меня что-нибудь появится, сообщу ...

Оффлайн ice99

  • Житель
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #6 : 09 Декабрь 2017, 19:17:09 »
... войди в положение хостера - для этого поставь у себя  виртуальную машину, установи в ней консольный линукс без DE и WM, и попытайся в него залить blender -
Когда я коннекчусь через SSH, я получаю следующее приветствие:
Welcome to Ubuntu 12.04 LTS (GNU/Linux 4.9.41-0-beget-acl x86_64)
Значит ли это, что я должен установить себе ubuntu 12.04, а не "консольный линукс без DE и WM"?

Оффлайн Николай Николаев

  • Житель
  • emerge --keep-going
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #7 : 09 Декабрь 2017, 19:42:06 »
>> Когда я коннекчусь через SSH, я получаю следующее приветствие:
... а ты можешь по ssh загнать туда архив и распаковать его там? ...

Оффлайн ice99

  • Житель
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #8 : 09 Декабрь 2017, 20:00:46 »
... а ты можешь по ssh загнать туда архив и распаковать его там? ...
как раз закачиваю. еле ползет.
Но что значит "распаковать"? Я скачал Линуксовую версию, распаковал архив на Винде, и сейчас закачиваю содержимое архива. По идее оно не требует распаковки, а только запуск.
Нужно как-то "установить" закачанные файлы?

Оффлайн Николай Николаев

  • Житель
  • emerge --keep-going
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #9 : 09 Декабрь 2017, 20:08:47 »
>> Нужно как-то "установить" закачанные файлы?
... нет, но blender не запустится поскольку нет библиотек (в этом основная проблема) ...

>> В любом случае, если вы считаете, что приложение будет работать корректно, вы можете скачать бинарный файл (или исходный код) на домашней странице blender и попробовать запустить (скомпилировать в виртуальном окружении Docker) его.
... про докер есть в вики на оф. сайте blender  https://wiki.blender.org/index.php/User:Jbakker/Blender_docker ...

Оффлайн ice99

  • Житель
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #10 : 09 Декабрь 2017, 21:03:50 »
>> Нужно как-то "установить" закачанные файлы?
... нет, но blender не запустится поскольку нет библиотек (в этом основная проблема) ...
а как отмониторить нехватающие библиотеки?

/go.php?url=aHR0cHM6Ly93aWtpLmJsZW5kZXIub3JnL2luZGV4LnBocC9Vc2VyOkpiYWtrZXIvQmxlbmRlcl9kb2NrZXI=]https://wiki.blender.org/index.php/User:Jbakker/Blender_docker[/url] ...
Да я нашел вроде готовые образы, только как ими пользоваться?
https://hub.docker.com/r/ikester/blender/

Оффлайн Николай Николаев

  • Житель
  • emerge --keep-going
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #11 : 09 Декабрь 2017, 21:17:06 »
>> а как отмониторить нехватающие библиотеки?
... "отмонтировать" никак нельзя (по-хорошему) ...
... можно их залить и указать в окружении LIBRARY_PATH ...

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


Оффлайн ice99

  • Житель
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #13 : 10 Декабрь 2017, 14:33:47 »
Спасибо за ссылки.
Но по обоим идет запуск Blendera с GUI. А мне это не надо.
Я же вроде как консольно пытаюсь его запускать.

Скачал последнюю Ubuntu Server 16.04
Установил на Vmware.
Настроил SSH доступ, SFTP.
Установил LAMP (не настраивал особо).
Поставил Docker.

Подошел к Blender-у.
Не пойму, мне надо его ставить "как обычно", или ставить Docker, и ставить Blender контейнером?
Если как сказал саппорт "На шаред хостинге Docker-a нет, вам нужен VDS\VPS - отдельный сервер", то смысл заморачиваться с Docker-ом, если я на VDS и так смогу хоть атомную войну устроить? Мне пока непонятен этот момент.

Оффлайн Николай Николаев

  • Житель
  • emerge --keep-going
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #14 : 10 Декабрь 2017, 15:48:01 »
>> В любом случае, если вы считаете, что приложение будет работать корректно, вы можете скачать бинарный файл (или исходный код) на домашней странице blender и попробовать запустить (скомпилировать в виртуальном окружении Docker) его.
... насколько понял и судя из слов саппорта - это он тебе посоветовал docker, а если у тебя уже есть docker image, то можешь создать из него контейнер на любом сервере, где установлен docker ...
... еще раз уточни у саппорта по docker ...

 


Яметрика

* По форуму

* Рекламный блок

* Последние вложения

1 (1).png
Скачано: 68
Автор: LEXA ANЭGROWND
blender.png
Скачано: 78
Автор: ipv2007
4.png
Скачано: 100
Автор: hiroyukiss
2.png
Скачано: 122
Автор: hiroyukiss

Скачано: 112
Автор: Dilifa12