Python:can';t访问新定义的环境变量
我无法访问我的环境变量:Python:can';t访问新定义的环境变量,python,bash,environment-variables,Python,Bash,Environment Variables,我无法访问我的环境变量: import subprocess, os print os.environ.get('PATH') # Works well print os.environ.get('BONSAI') # doesn't work 但是env变量很好地添加到了my/home/me/.bashrc: BONSAI=/home/me/Utils/bonsai_v3.2 export BONSAI 我可以从新的终端访问此环境变量。更新.bashrc后,执行source~/.bashr
import subprocess, os
print os.environ.get('PATH') # Works well
print os.environ.get('BONSAI') # doesn't work
但是env变量很好地添加到了my/home/me/.bashrc
:
BONSAI=/home/me/Utils/bonsai_v3.2
export BONSAI
我可以从新的终端访问此环境变量。更新
.bashrc
后,执行source~/.bashrc
以应用更改
另外,将两个与盆景相关的调用合并为一个调用:
export BONSAI=/home/me/Utils/bonsai_v3.2
更新:它实际上是为了更新一些基于Eclipse的IDE的环境。这是一个完全不同的用例。它应该在Eclipse中描述。还有一个类似的问题得到了回答。如果
os.environ
没有这个值,那么在父环境中就没有这样的shell变量。echo$BONSAI
在执行Python程序之前说了什么?它说了“/home/me/Utils/BONSAI_v3.2”像我一样,我也在/etc/profile中添加了export-BONSAI=/home/me/Utils/BONSAI_v3.2,并执行一个source/etc/profile,但它仍然不起作用尝试一行代码:export-BONSAI=/home/me/Utils/BONSAI_v3.2;python
。结果是什么?它可以工作,但我想使用eclipse。。。所以我需要在任何地方访问env var…在更新.bashrc
或/etc/profile
之后,您是否重新启动了eclipse IDE?您确定您的eclipse IDE继承了.bashrc
或/etc/profile
中指定的环境吗?是的,但可能我必须重新启动计算机,我会尝试