在Linux下,os.environ不包含HOST环境变量的原因可能是什么,除了我为解释器环境明确设置它?
> echo $HOST; python -c 'import os; print "HOST" in os.environ'
bbox
False
> echo $HOST; HOST=$HOST python -c 'import os; print "HOST" in os.environ'
bbox
True
编辑:感谢您向export
提出的建议,但为什么大多数其他变量都可用,例如USER, PS1, LANG,...
而没有明确导出它们?
答案 0 :(得分:3)
这意味着您在shell中定义了一个名为HOST
的变量,但尚未将其导出。
试试这个:
export HOST
环境变量不会传递给子进程,除非它们以这种方式导出。
答案 1 :(得分:2)
在shell中设置变量不会使子进程可用;你也必须导出变量。
$ export HOST
$ python ...