Не удалось выполнить скрипт запуска на экземпляре Google - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть скрипт запуска, который я использую для установки python и импорта файлов из хранилища Google в виртуальную машину. Когда я сохраняю свой скрипт запуска следующим образом:

‘#! /bin/bash
gsutil cp gs://bucket/file /homedirectory'

Выполняется успешно. Но когда я добавляю

'curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python get-pip.py --user
pip install pandas --user
pip install scipy --user
pip install scikit-learn --user
pip install sklearn —user
pip install matplotlib --user'

к сценарию, он не выполняет сценарий. Моя полная команда выглядит следующим образом

gcloud compute instances create instance2  \
--metadata startup-script='#! /bin/bash
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python get-pip.py --user
pip install pandas --user
pip install scipy --user
pip install scikit-learn --user
pip install sklearn —user
pip install matplotlib --user
gsutil cp gs://bucket/file /homedirectory'

Извинения Я недавно начал использовать сценарии запуска и до сих пор не знаком с ними.

1 Ответ

0 голосов
/ 12 сентября 2018

В этой строке em dash :

pip install sklearn —user

Должно быть:

pip install sklearn --user

В противном случае это вызовет исключение при попытке запустить скрипт запуска, например:

Traceback (most recent call last):
  File "/usr/bin/google_metadata_script_runner", line 11, in <module>
    load_entry_point('google-compute-engine==2.8.3', 'console_scripts', 'google_metadata_script_runner')()
  File "/usr/lib/python2.7/dist-packages/google_compute_engine/metadata_scripts/script_manager.py", line 109, in main
    debug=bool(options.debug))
  File "/usr/lib/python2.7/dist-packages/google_compute_engine/metadata_scripts/script_manager.py", line 69, in __init__
    self._RunScripts(run_dir=run_dir)
  File "/usr/lib/python2.7/dist-packages/google_compute_engine/metadata_scripts/script_manager.py", line 80, in _RunScripts
    script_dict = self.retriever.GetScripts(dest_dir)
  File "/usr/lib/python2.7/dist-packages/google_compute_engine/metadata_scripts/script_retriever.py", line 213, in GetScripts
    return (self._GetAttributeScripts(instance_data, dest_dir) or
  File "/usr/lib/python2.7/dist-packages/google_compute_engine/metadata_scripts/script_retriever.py", line 179, in _GetAttributeScripts
    dest.write(metadata_value.lstrip())
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2014' in position 201: ordinal not in range(128)

Вы можете просмотреть журналы для сценария запуска, перейдя по адресу:

Compute Engine > (Ваше имя экземпляра)> Журналы> Последовательный порт 1 (консоль)

...