计算机集群中的python库

时间:2011-09-19 18:30:50

标签: python cluster-computing remote-access rsh

我在python中遇到问题,当我在计算机集群中运行时,它会找到已安装的库。

当我尝试,例如,在脚本中加载numpy时:

 #file: /home/foo/test.py
 import numpy 
 print numpy.__version__

在服务器上,我明白了:

foo@abax:~$ python test.py 
1.4.1

但是当我尝试在具有远程shell的节点中运行相同的操作时,我收到错误:

foo@abax:~$ rsh -l foo ab01 "python test.py"
Traceback (most recent call last):
  File "test.py", line 2, in <module>
    import numpy 
ImportError: No module named numpy

有没有办法告诉python加载安装在集群中心节点的文件?

1 个答案:

答案 0 :(得分:1)

要检查的第一件事:

  • 在正面服务器和群集节点上打印PYTHONPATH,以确保没有不一致
  • 在正面服务器上打印numpy.__file__,以检查它找到numpy的位置。然后稍微探讨群集节点的文件系统,看看是否可以在同一个地方找到numpy(如果没有,请运行搜索以查看是否可以找到它,然后相应地更新PYTHONPATH)。

可能只是numpy本地安装在前端服务器上,而不是安装在群集节点上。在这种情况下,您需要自己在群集节点可以访问的文件系统上安装numpy(请注意,在科学群集上,最好让群集管理员在群集节点上安装numpy,以使其可供所有人使用)

如果平台足够相似,将numpy文件夹从正面服务器复制到共享文件系统中的某个位置(例如,您要添加到PYTHONPATH的家庭目录的子文件夹)可能会有效,但是干净安装是首选。