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

Оффлайн ice99

  • Житель
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #15 : 10 Декабрь 2017, 16:59:16 »
Так. Blender 2.79 поставил на сервак 16.04.
Скрипт из командной строки - отрабатывает, результат есть.
Теперь нужно немножко подправить конфиг самого Blender-а. А именно, добавить свой путь в
User preferences - > File ->Scripts

Поскольку интерфейс не запускается, есть 2 варианта
1. Править текстовый конфиг
2. как-то через командную строку

Кто-нибудь знает где конфиг путей у Blendera ?

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

  • Житель
  • emerge --keep-going
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #16 : 10 Декабрь 2017, 17:09:28 »
... смотри доку blender cli или blender --help в части переменных окружения ($BLENDER_USER_SCRIPTS и $BLENDER_SYSTEM_SCRIPTS) https://docs.blender.org/manual/en/dev/advanced/command_line/arguments.html ...

Оффлайн ice99

  • Житель
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #17 : 10 Декабрь 2017, 17:22:07 »
... смотри доку blender cli или blender --help в части переменных окружения ($BLENDER_USER_SCRIPTS и $BLENDER_SYSTEM_SCRIPTS) https://docs.blender.org/manual/en/dev/advanced/command_line/arguments.html ...

Так в том то и дело, что System-scripts можно через консоль изменить, а user-scripts нет

Код
--env-system-datafiles
    Set the BLENDER_SYSTEM_DATAFILES environment variable.
--env-system-scripts
    Set the BLENDER_SYSTEM_SCRIPTS environment variable.
--env-system-python
    Set the BLENDER_SYSTEM_PYTHON environment variable.

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

  • Житель
  • emerge --keep-going
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #18 : 10 Декабрь 2017, 17:40:34 »
... тогда смотри startup.blend в папке пользователя ...
... но ...
... это ключи запуска ...
--env-system-datafiles --env-system-scripts --env-system-python
... а это переменные окружения ...
$BLENDER_USER_SCRIPTS
$BLENDER_SYSTEM_SCRIPTS

... переменные окружения устанавливаются до запуска blender

Оффлайн ice99

  • Житель
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #19 : 10 Декабрь 2017, 18:01:56 »
Startup.blend не нашел поиском. На винде он есть, но там пути то другие.
а сервак консольный, GUI не открыть для его создания

нашел следы /usr/share/blender/2.79
и
/usr/bin/blender - это 1кб файл со следующим  содержанием

Код
#!/bin/sh

if [ -z "$OMP_NUM_THREADS" ]; then
    NUM_CORES=`grep -m1 '^cpu cores' /proc/cpuinfo | tr -dc 0-9`

    if [ "$NUM_CORES" ]; then
export OMP_NUM_THREADS=$NUM_CORES
    fi
fi

export LD_LIBRARY_PATH=/usr/lib/blender/ffmpeg/2.2/lib:${LD_LIBRARY_PATH}

exec $BLENDER_WRAPPER /usr/lib/blender/blender -P /usr/lib/blender/reset_excepthook.py "$@"


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

  • Житель
  • emerge --keep-going
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #20 : 10 Декабрь 2017, 19:00:39 »
... у тебя уже установлен докер? ты где проводишь проводить эксперименты? ...
... может попробовать скриптом установить все переменные которые тебе требуются ...

Код: python
#myscript.py

import bpy
from bpy import context
print("hello!")
path = "/somepath"
context.user_preferences.filepaths.script_directory=path
print(context.user_preferences.filepaths.script_directory)

... а скрипт запускать ...
Код: bash
exec blender --background --python myscript.py

ps
... и наверное нужно startup.blend смотреть, а userpref.blend ...

Оффлайн ice99

  • Житель
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #21 : 10 Декабрь 2017, 19:46:23 »
... у тебя уже установлен докер? ты где проводишь проводить эксперименты? ...

Я писал выше, что Docker получается не нужен, т.к. у меня полный контроль над своей Ubuntu 16.04 Server
Установил рядом Ubuntu 16.04 Desktop, чтобы в GUI оболочке Blender всё настроить, а потом Ctrl+C, Ctrl+V на серверную систему. Говорят будет работать.
 
Но даже если получится, думаю и образ с Docker-ом сделать, чтобы потом такой свистопляски не было.

#myscript.py

import bpy
from bpy import context
print("hello!")
path = "/somepath"
context.user_preferences.filepaths.script_directory=path
print(context.user_preferences.filepaths.script_directory)

спасибо, поробую и такой вариант.
однако
видимо делается "environment file "
https://wiki.blender.org/index.php/Dev:2.5/Source/Installation/EnvironmentVariables
Правда это для версии 2.5

exec blender --background --python myscript.py
так так, а почему exec ? Это же не php-запуск. Хотя, конечно триггерить я это буду через php потом. Пока из консоли балуюсь.

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

  • Житель
  • emerge --keep-going
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #22 : 10 Декабрь 2017, 19:53:40 »
>> т.к. у меня полный контроль над своей Ubuntu 16.04 Server
... в Сети? ...

>> так так, а почему exec ? Это же не php-запуск. Хотя, конечно триггерить я это буду через php потом. Пока из консоли балуюсь.
... это в контексте консоли моей системы (gentoo), у тебя возможно будет другое ...

Оффлайн ice99

  • Житель
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #23 : 10 Декабрь 2017, 20:06:10 »
>> т.к. у меня полный контроль над своей Ubuntu 16.04 Server
... в Сети? ...
да нет конечно, поставил на виртуалку. Но если единственный способ (как мне сказал хостер) это VDS, то это и есть полный контроль над окружением. По идее и Docker там не нужен.

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

  • Житель
  • emerge --keep-going
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #24 : 10 Декабрь 2017, 20:25:16 »
>> Но если единственный способ (как мне сказал хостер) это VDS, то это и есть полный контроль над окружением.
... а зачем тебе там blender? можешь прокомментировать если это не объект оборонного значения :) ...

Оффлайн ice99

  • Житель
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #25 : 10 Декабрь 2017, 20:39:41 »
>> Но если единственный способ (как мне сказал хостер) это VDS, то это и есть полный контроль над окружением.
... а зачем тебе там blender? можешь прокомментировать если это не объект оборонного значения :) ...

нет. Пользователь на сайте загружает модель в формате А, а скачивает модель в формате В.
Blender как конвертер.

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

  • Житель
  • emerge --keep-going
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #26 : 10 Декабрь 2017, 20:41:17 »
... почему пользователь не может сделать это у себя на ПК? ...

Оффлайн ice99

  • Житель
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #27 : 10 Декабрь 2017, 20:44:39 »
... почему пользователь не может сделать это у себя на ПК? ...
Ну, скрипт может/будет добавлять свои "плюшки"б помимо простой конвертации.
Кстати, код
Код
#myscript.py

import bpy
from bpy import context
print("hello!")
path = "/somepath"
context.user_preferences.filepaths.script_directory=path
print(context.user_preferences.filepaths.script_directory)
почему  то не срабатывает. точнее ничего не выводит в консоль

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

  • Житель
  • emerge --keep-going
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #28 : 10 Декабрь 2017, 20:58:14 »
>> почему  то не срабатывает. точнее ничего не выводит в консоль
... покажи как запускаешь ...

>> Ну, скрипт может/будет добавлять свои "плюшки"б помимо простой конвертации.
... то есть ты не хочешь их показывать общественности? ...


Оффлайн ice99

  • Житель
Re: Как запустить сккрипт Python на web-сервере?
« Ответ #29 : 10 Декабрь 2017, 21:09:03 »
>> почему  то не срабатывает. точнее ничего не выводит в консоль
... покажи как запускаешь ...

прикрепил скрин. набираю в блендере и запускаю
upd.... виноват. получилось. если набирать из терминала ubuntu, то работает

>> Ну, скрипт может/будет добавлять свои "плюшки"б помимо простой конвертации.
... то есть ты не хочешь их показывать общественности? ...
Я пока не уверен в конечной цели, но в любом случае, взять модель (скриптом), обработать и вернуть пользователю это хороший функционал.

 


Яметрика

* По форуму

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

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

1 (1).png
Скачано: 67
Автор: LEXA ANЭGROWND
blender.png
Скачано: 77
Автор: ipv2007
4.png
Скачано: 99
Автор: hiroyukiss
2.png
Скачано: 121
Автор: hiroyukiss

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