我一直在测试带有aws cli的沙盒服务器。我以root身份安装了pip,boto和awscli,并且可以以root身份非常成功地运行aws s3 ls
,但是当我尝试运行与我自己(不是root)相同的命令时,我得到一个clidriver错误如下:
$ aws s3 ls
Traceback (most recent call last):
File "/usr/local/bin/aws", line 19, in <module>
import awscli.clidriver
ImportError:没有名为awscli.clidriver的模块
任何人都知道缺少哪些权限,考虑到这是root用户?
答案 0 :(得分:0)
不,两个用户(我和root)都在使用相同的python。问题原来是一个安全的剧本,它把awscli放在了系统上。 site-package只有root权限才能操作它们。我编辑了剧本并添加了一个umask设置来pip它正在使用的任务。我们花了很多时间进行实验,因为如果文件本身没有改变,ansible似乎没有改变权限。所以,我最终在几个包上进行了一次pip卸载,并多次重新运行了剧本。最终,在确定umask值必须包含在引用中之后(与ansible网页示例不同),一切正常。谢谢你的想法。