gcp datapro c как использовать один и тот же python между интерактивным входом в систему и командами s sh - PullRequest
3 голосов
/ 16 января 2020

для кластера gcp datapro c, если я sh запускаю команду

gcloud compute ssh --internal-ip mycluster-m some_command.sh

python, которое я получаю, равно

/usr/bin/python

Однако, когда я войти, я получаю систему conda python -

/opt/conda/default/bin/python

sourcing .bashr c в моем скрипте не помогает, и я вижу, что .bashr c имеет

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

, что, я думаю, означает, что ничего не будет делать - однако я не вижу, как python устанавливается в среду conda, как описано в bashr c (это datapro c image version 1.4)

Другая непонятная вещь - это как установить пакеты в сценарии инициализации. В основном я выполняю интерактивную работу adho c с datapro c, и я научился делать такие вещи, как

sudo /opt/conda/default/bin/python3 -m pip install tensorflow<1.15 google-cloud-storage

, чтобы мои пакеты были доступны. Но теперь, когда я запускаю команду sh, мне дают другой python?

Что я получу, чтобы запустить conda python при выполнении команд sh?

1 Ответ

1 голос
/ 16 января 2020

S SH -with-command просто запускает команду путем разветвления вместо создания новой оболочки входа в систему, поэтому python env не активируется. Это один из нескольких случаев, когда вы не получаете пользователя python.

. Для вашего случая использования поиск /etc/profile.d/effective-python.sh является разумным подходом.

...