Активация среды conda с помощью cloud-init - PullRequest
2 голосов
/ 16 апреля 2019

Мы пытаемся запустить пакетные сценарии при загрузке на экземпляре AWS EC2 с использованием пользовательских данных (которые, как я понимаю, основаны на cloud-init).Поскольку код выполняется в среде conda, мы пытаемся активировать его до запуска кода Python / Pandas.Мы заметили, что переменная PATH не установлена ​​правильно.(даже несмотря на то, что он был задан правильно до создания образа и задан правильно для всех пользователей после включения SSH)

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

#!/bin/bash
export=/opt/conda/bin:$PATH
which python
which conda
conda activate etl

Мы проверили $ PATH до и после запуска export=/opt/conda/bin (без изменений).which python возвращает неправильный питон, а which conda возвращает не найден.

$ PATH до и после: /sbin:/usr/sbin:/bin:/usr/bin

1 Ответ

0 голосов
/ 16 апреля 2019

После нескольких часов работы необходимы две важные линии (независимо от того, как вы используете Miniconda AMI):

#!/bin/bash
echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc #or the path to your conda.sh
source ~/.bashrc
conda activate <full path to environment>

по какой-то причине cloud-init игнорирует все другие попытки изменить путь

...