Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/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更新$PATH_Python_Bash_Path - Fatal编程技术网

从python更新$PATH

从python更新$PATH,python,bash,path,Python,Bash,Path,我想从python脚本I-e中更新路径,在$path中添加/tmp。原因是我使用的是aws lambda,它会查找aws iam验证器binary。现在,此二进制文件必须位于$PATH中,否则会引发错误: [Errno 2] No such file or directory: 'aws-iam-authenticator': 'aws-iam-authenticator' 因为只有/tmp可以在aws lambda中写入,所以我无法将此二进制文件移动到任何其他/bin/*或路径目录 我试着这

我想从python脚本I-e中更新路径,在$path中添加
/tmp
。原因是我使用的是aws lambda,它会查找
aws iam验证器
binary。现在,此二进制文件必须位于$PATH中,否则会引发错误:

[Errno 2] No such file or directory: 'aws-iam-authenticator': 'aws-iam-authenticator'
因为只有
/tmp
可以在aws lambda中写入,所以我无法将此二进制文件移动到任何其他
/bin/*
或路径目录

我试着这样做:

subprocess.call('PATH=$PATH:/tmp/',shell=True)
但它不起作用

Lambda路径:
PATH=/var/lang/bin:/usr/local/bin:/usr/bin/:/bin:/opt/bin

>>导入操作系统>>>os.environ[“PATH”]+=“/dodo/”>>打印操作系统environ[“PATH”]这似乎有效。在我看来,这是一个非常糟糕的主意。这将导致您放入
tmp
文件夹中的任何程序都将位于您的
PATH
中,这可能会导致在解决可执行实路径时出现问题。解决问题的更好方法是将
aws iam authenticator
二进制文件移动到路径中的文件夹中(例如
/opt/bin
)。您可能需要使用
chmod
chown
。如果您仍然想这样做:为什么不使用完整路径调用可执行文件呢
/tmp/aws iam authenticator
如果脚本依赖于
aws iam authenticator
,为什么要将其安装到
/tmp
,而不是已经可以访问的地方?