我在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加载安装在集群中心节点的文件?
答案 0 :(得分:1)
要检查的第一件事:
PYTHONPATH
,以确保没有不一致numpy.__file__
,以检查它找到numpy的位置。然后稍微探讨群集节点的文件系统,看看是否可以在同一个地方找到numpy(如果没有,请运行搜索以查看是否可以找到它,然后相应地更新PYTHONPATH
)。可能只是numpy本地安装在前端服务器上,而不是安装在群集节点上。在这种情况下,您需要自己在群集节点可以访问的文件系统上安装numpy(请注意,在科学群集上,最好让群集管理员在群集节点上安装numpy,以使其可供所有人使用)
如果平台足够相似,将numpy文件夹从正面服务器复制到共享文件系统中的某个位置(例如,您要添加到PYTHONPATH
的家庭目录的子文件夹)可能会有效,但是干净安装是首选。