使用cloud-init激活conda环境

时间:2019-04-16 16:02:37

标签: python amazon-web-services amazon-ec2 conda cloud-init

我们正在尝试使用用户数据(据我所知是基于cloud-init的)在AWS EC2实例上加载时运行批处理脚本。由于代码在conda环境中运行,因此我们试图在运行Python / Pandas代码之前将其激活。我们注意到PATH变量的设置不正确。 (即使它在制作映像之前已正确设置,并且在SSH进入实例后已为所有用户正确设置)

我们已经尝试过修改shell脚本中的路径,但是没有任何问题。我们运行了以下代码:

MDB_NOTFOUND

我们在运行#!/bin/bash export=/opt/conda/bin:$PATH which python which conda conda activate etl 之前和之后检查了$ PATH(无变化)。 export=/opt/conda/bin返回错误的python,而which python返回未找到。

$ PATH之前和之后是: which conda

1 个答案:

答案 0 :(得分:0)

工作几个小时后,无论您使用的是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会忽略所有其他尝试修改路径的尝试