我在~/.profile
中设置了一些环境变量:
SOMEVAR=/some/custom/path
已经source ~/.profile
了。所以当我这样做时:
echo $SOMEVAR
打印正确的目录:
/some/custom/path
但是,当我尝试在Python脚本中读取此变量时,它会失败:
import os
print(os.environ["SOMEVAR"])
我明白了:
Traceback (most recent call last):
File "environment_test.py", line 3, in <module>
print os.environ["SOMEVAR"]
File "/usr/lib64/python2.7/UserDict.py", line 23, in __getitem__
raise KeyError(key)
KeyError: 'SOMEVAR'
那里有什么问题?
答案 0 :(得分:4)
您不希望启动的进程看到您创建的所有垃圾(=变量)。因此,常规变量仅在您正在执行的shell中可见。
您必须导出变量:
export SOMEVAR=/some/custom/path