2017-01-17 36 views
1

У меня есть учетная запись в суперкомпьютерном кластере, где я установил некоторые пакеты, используя, например, "pip install --user keras".При использовании qsub для отправки заданий, как я могу включить локально установленные пакеты python?

При использовании qsub для отправки заданий в очередь, я пытаюсь убедиться, что система может видеть мои локальные пакеты, установив «export PYTHONPATH = $ PYTHONPATH: [$ HOME] /. Local/lib/python2.7/site -packages/keras "в скрипте.

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

ответ

1

Если вы используете pbs professional, тогда попытайтесь экспортировать PYTHONPATH в свою среду, а затем отправьте задание с помощью опции -V с помощью qsub. Это заставит qsub взять все ваши переменные среды и экспортировать его для работы. Else, попробуйте установить его с помощью опции «-v» (обратите внимание на малый v), а затем введите переменную ключ/значение пары с вашей средой, например qsub -v HOME=/home/user job.sh

1

Доступны ли пакеты python из вычислительных узлов? Если это не так, то решение состоит в том, что вам нужно установить их.

Как только пакеты доступны, это должно быть просто вопросом правильной настройки вашей среды. Для Torque вы можете настроить среду на основе работы с использованием -V и или -v. Параметр -V экспортирует среду, из которой задание отправляется на задание. Если вы хотите просто отправить несколько переменных, -v может позаботиться о вас:

qsub script.sh -v PYTHONPATH=<desiredpath>[,var2name=var2value[,...]] 

Documentation