加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何能够移动脚本在移动到新机器时需要的所有必需库

发布时间:2020-12-13 19:29:31 所属栏目:Linux 来源:网络整理
导读:我们致力于科学计算,并定期向不同的计算集群提交计算.为此,我们使用 linux shell连接并通过SGE,Slurm等提交作业(取决于集群).我们的代码由 python和bash脚本和几个二进制文件组成.其中一些依赖于外部库,如matplotlib.当我们开始使用新的集群时,这是一个噩梦,
我们致力于科学计算,并定期向不同的计算集群提交计算.为此,我们使用 linux shell连接并通过SGE,Slurm等提交作业(取决于集群).我们的代码由 python和bash脚本和几个二进制文件组成.其中一些依赖于外部库,如matplotlib.当我们开始使用新的集群时,这是一个噩梦,因为我们需要告诉管理员我们需要的所有库,有时他们无法安装所有的这些,或者他们只有旧版本无法升级.所以我们想知道我们该怎么做.我想知道我们是否可以以某种方式“包装”我们所需要的所有图书馆和我们的代码.你觉得有可能吗?否则,我们如何移动到新集群,而不需要管理员安装任何东西?

解决方法

关键是使用群集管理员安装的编译器/库/ MPI工具链自己编译所需的所有代码,以便

>您的软件已正确编译为集群硬件,以及
>您不依赖于管理员来安装软件.

在这种情况下,以下是非常有用的:

> Ansible,上传/管理配置文件,rc文件,设置权限,编译二进制文件等,并在新集群上轻松部署新环境
> Easybuild安装您所需的依赖关系的Python版本,并安装其他科学软件,这得益于社区支持的构建过程
> CDE在您的笔记本电脑上构建一个包含二进制文件的所有依赖项的软件包,并将其按原样在集群中使用.

更具体地说对于Python,你可以使用

> virtual envs在所有集群之间设置一套一致的Python模块,独立于已安装的模块;要么
> Anaconda或Canopy使用Python科学分发

在所有集群中都有一致的Python安装.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读