使用sudo的Python无法访问环境变量

时间:2016-03-26 20:33:14

标签: python linux debian environment-variables

我的python脚本存在问题

首先,我将环境变量定义为

export TEST=test

我的Python脚本非常简单" test.py"

import os
print os.environ['TEST']

所以当我用

运行它时
~ $ python test.py

我已打印出预期结果test。但是,如果我用

运行脚本
~ $ sudo python test.py

我发现KeyError: 'TEST'错误。

我错过了什么?

1 个答案:

答案 0 :(得分:4)

Sudo以不同的环境运行。 要保持当前环境使用-E标记。

sudo -E python test.py

 -E, --preserve-env
             Indicates to the security policy that the user wishes to preserve their existing environment variables.  The security policy may return an error if the user does not have permission to
             preserve the environment.