通过计算集群加载python模块

通过计算集群加载python模块,python,linux,bash,Python,Linux,Bash,我有一个使用科学Linux的计算集群的帐户。当然,我只有用户访问权限。我正在使用python,我需要运行python脚本,所以我需要导入一些python模块。由于我没有根访问权限,我在$HOME上安装了一个本地python副本,其中包含所有必需的模块。当我在我的帐户(托管节点)上运行脚本时,它们会正确运行。但是为了将作业提交到计算队列(在速度更快的机器上处理),我需要提交一个bash脚本,该脚本有一行代码来执行这些脚本。计算集群使用SunGrid引擎。然而,当我提交bash脚本时,我得到一个错误

我有一个使用科学Linux的计算集群的帐户。当然,我只有用户访问权限。我正在使用python,我需要运行python脚本,所以我需要导入一些python模块。由于我没有根访问权限,我在$HOME上安装了一个本地python副本,其中包含所有必需的模块。当我在我的帐户(托管节点)上运行脚本时,它们会正确运行。但是为了将作业提交到计算队列(在速度更快的机器上处理),我需要提交一个bash脚本,该脚本有一行代码来执行这些脚本。计算集群使用SunGrid引擎。然而,当我提交bash脚本时,我得到一个错误,我安装的模块找不到

因此,我对这个问题的理解是,模块没有被发送到执行脚本的机器上。我的问题是:是否可以在脚本中包含所有模块


EDIT:我刚刚创建了一个运行
哪个python
的bash脚本,我注意到输出不是我的python副本。但是,当我在ssh帐户上运行“which python”时,我得到了正确的python副本。

提交的脚本很可能使用系统python安装,而不是您自己的。尝试仅使用一个命令提交shell脚本,
whichpython
,以进行确认

修复方法是将Python解释器的路径前置到系统路径。在我的机器上,正确的Python安装在
/Users/mbatchkarov/anaconda/bin/Python
。我添加了
export PATH=“/Users/mbatchkarov/anaconda/bin:$PATH”
~/.bash\u profile


编辑将同一行添加到
~/.bashrc

请查看我的编辑。在我的ssh帐户上,所有设置都是正确的,但是当我发送作业运行时,它使用了一些其他python。请参阅我的编辑。如果它在ssh到计算节点时起作用,那么SGE必须生成非登录shell。您可以在这里了解登录shell和非登录shell之间的区别