[英]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.