Не удалось выполнить скрипт запуска на экземпляре Google
У меня есть сценарий запуска, который я использую для установки 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 ответ
У вас есть тире в этой строке:
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 (консоль)