Заставить оболочку использовать Python из переменной conda в движке SunGrid - PullRequest
1 голос
/ 03 июля 2019

Я пытаюсь выполнить файл python в движке SunGrid и выполняю его из моей переменной среды anaconda3.

мой код прост:

from __future__ import print_function
import urllib3
import numpy as np

if __name__ == '__main__':
    print('Hellooo')

I 'Я называю это как:

qsub -V -b n -cwd -pe mp 3 playground.py

, но я получаю эту ошибку:

from: can't read /var/mail/__future__
import: unable to open X server `' @ error/import.c/ImportImageCommand/358.
/var/spool/gridengine/execd/cluster-rp-02/job_scripts/22924: 3: /var/spool/gridengine/execd/cluster-rp-02/job_scripts/22924: Syntax error: word unexpected (expecting ")")

Я искал в Интернете ошибку и нашел ее решение: Получение ошибки Python «from: не могу прочитать / var / mail / Bio ”

он предложил добавить: #!/usr/bin/env python в начале кода Python.

Я использую anaconda3, гденазначение используемого питона не совпадает.Итак, это должно быть: #!../anaconda3/envs/py3/bin/python

Но когда я добавляю этот скрипт, я получаю эту ошибку:

/home/master/bin/sge_mp_startup.sh: 10: exec: /var/spool/gridengine/execd/cluster-rp-01/job_scripts/22926: not found

Я что-то пропустил?

1 Ответ

0 голосов
/ 03 июля 2019

Из связанного вопроса:

Если ваш скрипт хранится в файле с именем script.py, вы должны выполнить его как python script.py

Чтобы вы могли добавить ../anaconda3/envs/py3/bin/python в командную строку:

qsub -V -b n -cwd -pe mp 3 ../anaconda3/envs/py3/bin/python playground.py

Или, если ../anaconda3/envs/py3/bin/python - первый исполняемый файл python на вашем пути, вы можете упростить:

qsub -V -b n -cwd -pe mp 3 python playground.py
...