【问题标题】:Python: Not all environment variables present in os.environPython:并非所有环境变量都存在于 os.environ
【发布时间】:2023-03-22 11:06:02
【问题描述】:

在python shell中,使用

import os 
print os.environ 

打印完整的环境变量列表,没有任何遗漏。但是,当我用文件名调用解释器时:

sudo python file.py 

并使用

import os 
print os.environ 

我看到dict中缺少一些环境变量。

为什么他们的行为不同?

操作系统:Ubuntu 14.04

【问题讨论】:

  • 您能粘贴两种方式的输出吗?
  • 没有所谓的“完整”环境。在不同的情况下会出现不同的变量。缺少什么,为什么会出现问题?
  • 它们对我来说是一样的!
  • 你在哪个操作系统上运行这个?

标签: python environment


【解决方案1】:

我在 bash 中使用 export 设置 ENV Vars not 时看到了这种情况,因此它们没有传播到 python 脚本。

【讨论】:

    【解决方案2】:

    我意识到差异是因为我在第二次执行期间使用了 sudo,而没有保留环境。我需要添加 将这些环境变量添加到我的 sudoers 文件中或在执行期间保留它们。

    【讨论】:

      【解决方案3】:

      您是否尝试过使用 export 关键字,例如

      export DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-11
        • 2020-10-25
        • 2017-07-22
        • 2015-07-12
        • 1970-01-01
        • 2016-09-22
        相关资源
        最近更新 更多