AWS Run命令:未找到Python
我正在使用Boto3 SSM在我的实例中运行命令 当我运行诸如echoAWS Run命令:未找到Python,python,amazon-web-services,boto3,amazon-systems-manager,Python,Amazon Web Services,Boto3,Amazon Systems Manager,我正在使用Boto3 SSM在我的实例中运行命令 当我运行诸如echohello world或mkdir abc之类的简单命令时,它工作正常,并提供预期的输出。但是当我试图运行python-V或任何其他python命令时。输出为未找到python。但是python在我运行Ubuntu的EC2实例中。当我手动检查时,它工作正常 代码: boto3.ssm并不意味着用作快速外壳注入工具。您需要安装以执行更高级的触发,反之亦然 使用python3有效。另一件需要提及的事情是,它在系统中使用了核心pyt
hello world
或mkdir abc
之类的简单命令时,它工作正常,并提供预期的输出。但是当我试图运行python-V
或任何其他python命令时。输出为未找到python
。但是python在我运行Ubuntu的EC2实例中。当我手动检查时,它工作正常
代码:
boto3.ssm并不意味着用作快速外壳注入工具。您需要安装以执行更高级的触发,反之亦然 使用
python3
有效。另一件需要提及的事情是,它在系统中使用了核心python,并且不识别安装的任何其他版本 此问题的正确答案取决于安装的OS AMI
对于此问题,有几个选项可以解决此问题:
- 使用
,因为未安装python3
(python2.x)李>python
- 安装python 2.x(Ubuntu):
sudo-apt-get-Install-python
- 执行命令:
将sudo ln/usr/bin/python3/usr/bin/python
链接到python
目录中的/usr/bin
python3
python-V
将版本字符串写入stderr,这将使您认为命令失败,因为当命令实际成功时,SSM Run命令将显示如下输出。我发现SSM Run命令只是在stdout后面显示stderr,stdout之间用-------ERROR------
----------ERROR-------
Python 2.7.14
Python3将版本字符串写入标准输出。这花了我几个小时才弄明白,因为直到今天我才注意到Python2.x的stderr问题
关于我测试的AMI的信息
地区:美国西部2号(俄勒冈州)
亚马逊Linux 2:
amzn2-ami-hvm-2.0.20180810-x86_64-gp2(ami-6cd6f714)
Ubuntu 16.04 LTS:
ubuntu/images/hvm-ssd/ubuntu-xenial-16.04-amd64-server-20180814(ami-51537029)尝试使用sudo-apt-get-install安装python。我的实例中有python。我已经提到过了。
boto3.client
这个客户端支持流吗?试试/usr/bin/python
,而不仅仅是python
?它不工作。是我做的。没有这个,你无论如何也不能注射。
----------ERROR-------
Python 2.7.14