我希望在集群计算系统上运行我的Python程序。由于我在群集的每个节点上都没有root访问权限,因此我需要将Python和我的模块安装在本地目录中并从那里运行我的代码。为了节省时间,我可以在其中一个节点上执行本地Python构建,将其tar,并将tar tar保存在代理服务器上。然后,当我想在其余的节点上运行我的代码时,我只需将焦油Python解压缩,然后运行我的程序。所以基本上我只需要构建一次Python,然后可以在集群上重复使用它;我在群集上运行的代码如下所示:在集群上使用Python,Cython和GSL
#!/bin/bash
wget www.proxyserver.Local_Python_Build.tgz
tar xzf Local_Python_Build.tgz
./Local_Python_Build/bin/python my_python_code.py
我遇到了一个主要问题。首先,我的主代码使用我写的一些需要GSL的Cython程序。当我进行Python的初始安装时,我也做了GSL的本地构建,以及编译Cython代码(所有代码都包含在tar中)。我已经检查过,确保在构建它之后所有东西都能正确运行,但是一旦我在集群上提交它,代码就无法工作。我不断收到以下错误:
ImportError: libgsl.so.0: cannot open shared object file: No such file or directory
现在,我已经尝试添加到的路径libgsl.so.0位于LD_LIBRARY_PATH目录,但不工作;即
export LD_LIBRARY_PATH=path/where/libgsl/is
我担心每次运行我的代码时都需要构建GSL;即运行下面的代码:
#!/bin/bash
wget www.proxyserver.Local_Python_Build.tgz
tar xzf Local_Python_Build.tgz
install GSL
Compile Cython Code
./Local_Python_Build/bin/python my_python_code.py
这显然会增加我的运行时间,这我希望避免的。任何想法?计算群集运行Linux。
谢谢!
什么样的集群?查看是否安装了virtualenv。它可能允许您在其中安装所需的工具。 – Aditya
它是一个Linux集群。节点非常精简,我很确定virtualenv没有安装。但是我可以检查一下.v一些额外的信息:集群上有许多不同的Linux发行版,程序在某些版本(例如RHEL 6.6)上运行良好,但在其他版本(RHEL 6.4)上运行得很好。 – shadowprice
您在RHEL 6.4上遇到什么错误? – rth