为什么ipython env变量与关联的终端模拟器中的bash env不匹配?

时间:2015-08-12 05:04:21

标签: python command-line ipython ipython-notebook sungridengine

最近我一直在用Python做一些互动工作。

我的设置是在服务器上运行的IPython笔记本,该服务器使用网格引擎来管理作业。

今天我试图让一个IPython集群继续发布使用subprocess.Popen发布集群的here发布的示例。

我无法让这个例子工作所以我尝试打开IPython / Jupyter终端模拟器并输入ipcluster start命令,群集就开始了!

在玩了一段时间之后,我意识到如果我在终端模拟器中键入env,我得到的环境变量列表与我在Python中查看os.environ变量时不同。问题的根源似乎是PATH变量不同。

现在我知道我可以更改PATH中的os.environ变量,但我想知道为什么它首先会有所不同?我对环境变量知之甚少,所以这可能是一个愚蠢的问题,但我会假设在完全相同的IPython笔记本服务器上的完全相同的节点上运行的终端模拟器和笔记本将具有完全相同的环境变量。

有关终端和笔记本中的环境变量可能不同的原因的任何见解将不胜感激。

更新:如果重要,我正在使用的服务器使用Univa Grid Engine。另外我注意到,使用qrshqsub来启动笔记本服务器似乎有所不同。

以前我一直在使用qsub,但是通过使用qrsh启动笔记本服务器,我消除了envos.environ之间的许多差异。仍有差异,但更少。仍然不确定这意味着什么:)

1 个答案:

答案 0 :(得分:1)

根据qsub,qsh,qrsh的手册页,将当前shell环境传播到作业,使用for(var i = 0; i< states.length; i++) { states[i].click(function() { if (this.attr('fill')=='white') {this.attr('fill', 'blue');} else if (this.attr('fill')=='blue') {this.attr('fill', 'red');} else {this.attr('fill', 'white');} }); } 选项:

-V