我们正在尝试使用userdata (我知道它是基于EC2 -init)在AWS实例上运行批处理脚本。因为代码运行在conda环境中,所以我们尝试在运行Python/Pandas代码之前激活它。我们注意到PATH变量没有正确设置。(即使在制作镜像之前设置正确,并在SSH进入实例后为所有用户正确设置)
我们已经尝试修改shell脚本中的路径,但没有什么问题。我们运行了以下代码:
#!/bin/bash
export=/opt/conda/bin:$PATH
which python
which conda
conda activate etl我们在运行export=/opt/conda/bin之前和之后检查了$PATH (没有变化)。which python返回错误的python,which conda返回not found。
前后的$PATH是:/sbin:/usr/sbin:/bin:/usr/bin
发布于 2019-04-17 01:06:21
工作数小时后,所需的两条关键线路(无论您是否使用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会忽略所有其他修改路径的尝试
https://stackoverflow.com/questions/55712328
复制相似问题