Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 使用boto3从powershell远程运行python脚本不起作用_Python 3.x_Windows_Amazon Web Services_Powershell_Boto3 - Fatal编程技术网

Python 3.x 使用boto3从powershell远程运行python脚本不起作用

Python 3.x 使用boto3从powershell远程运行python脚本不起作用,python-3.x,windows,amazon-web-services,powershell,boto3,Python 3.x,Windows,Amazon Web Services,Powershell,Boto3,我正在尝试使用boto3在我的windows ec2实例中运行python文件。我试图使用AWS RunPowerShellScript运行以下命令,当我将rdp导入ec2实例时,这两个命令都可以运行 我正在使用的代码: dostufforec2.py import boto3 resp = client.send_command( DocumentName="AWS-RunPowerShellScript", # One of AWS' preconfigured docume

我正在尝试使用boto3在我的windows ec2实例中运行python文件。我试图使用AWS RunPowerShellScript运行以下命令,当我将rdp导入ec2实例时,这两个命令都可以运行

我正在使用的代码: dostufforec2.py

import boto3
resp = client.send_command(
        DocumentName="AWS-RunPowerShellScript", # One of AWS' preconfigured documents
        Parameters={'commands': ['md test1', 'py -3 make_test_dir.py']},
        InstanceIds=XXXXXXXXXX,
    )
使_测试_dir.py

import os
os.system('md test2')
当我运行dostufforec2.py时,只创建test1目录。 当我使用rdp在Powershell上直接运行md test1和py-3 make_test_dir.py时,会创建test1和test2

我将如何着手解决这个问题。我通常使用linux,没有使用Powershell的经验,但我必须使用它或CMD,因为实例是Windows


我还计划在AWS Lambda开始工作后将其移动到AWS Lambda,但调用不同的python脚本。如果有任何问题,请告诉我。

我猜当您登录时,py-3。。。works b/c python在您的路径中,但当SSM客户端运行它时,它不是。您可以尝试为“py”可执行文件和python文件指定完整路径,以排除这种情况

要查找py.exe并进行故障排除,可以使用get命令gcm,简称为:

(gcm py).source
应该打印py.exe的完整路径

您可以通过如上所述自动检测py的位置并使用“&”调用输出字符串来获得fancier,例如:

& (gcm py.exe).source -3 c:/temp/make_test_dir.py
注意:可以使用“/”而不是“\”。窗户也可以