簡體   English   中英

Python:並非所有環境變量都存在於 os.environ 中

[英]Python: Not all environment variables present in os.environ

在 python shell 中,使用

import os 
print os.environ 

打印完整的環境變量列表,沒有遺漏。 但是,當我使用文件名調用解釋器時:

sudo python file.py 

並使用

import os 
print os.environ 

我看到字典中缺少一些環境變量。

為什么他們的行為不同?

操作系統:Ubuntu 14.04

當 ENV 變量沒有在 bash 中使用export設置時,我看到了這種情況,所以它們沒有傳播到 python 腳本。

我意識到差異是因為我在執行期間使用了 sudo ,而環境沒有保留。 我需要將這些環境變量添加到我的 sudoers 文件中或在執行過程中保留它們。

您是否嘗試使用export關鍵字,例如

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM