【发布时间】:2020-01-12 17:58:20
【问题描述】:
对于以下命令:
virtualenv --system-site-packages `pwd`/.test
# load virtual environment
source `pwd`/.test/bin/activate
# install required python modules
# for some reason argparse is not included with credstash install but required at runtime :(
#PYPI_REPO=http://${PYPI_DNS}/aes/release/+simple/
#PYPI_DNS is internal company DNS
pip install pip --upgrade -i ${PYPI_REPO} --quiet
pip install argparse==1.4.0 -i ${PYPI_REPO} --trusted-host ${PYPI_DNS} --quiet
pip install credstash==1.14.0 -i ${PYPI_REPO} --trusted-host ${PYPI_DNS} --quiet
这有时会成功。
-
但是有时候安装argparse会失败:
找不到满足 argparse==1.4.0 要求的版本(来自版本:) 未找到 argparse==1.4.0
的匹配分布 -
然后在其他时候,安装 credstash 会失败:
找不到满足要求 boto3>=1.1.1 的版本(来自 credstash==1.14.0)(来自版本:) 没有找到 boto3>=1.1.1 的匹配分布(来自 credstash==1.14.0)
什么时候失败,什么时候成功,我都找不到原因。
请注意,上面的命令来自一个 xxx.sh 文件,该文件作为 EC2 UserData 脚本的一部分运行 - 它在 EC2 启动期间几乎可以运行 90%。
但是,当我手动运行 xxx.sh 时,它的工作时间为 10%(在安装 credstash 后,sh 运行 ansible playbook - 因此手动运行是测试 playbook 的更快方法) 在 EC2 实例上进行 SSH 时 - 错误在我上面提到的 2 条错误消息之间切换。我不是 python 开发人员,所以它可能是我缺少的东西,如果你能指出正确的方向吗?
【问题讨论】:
标签: python amazon-ec2 pip virtualenv credstash