如何配置数据分析软件环境?

请问大家一般如何配置软件环境?具体地,有些软件更新很快,如何在一台电脑上能够保持不同的软件版本?比如有些功能只有在新版本上才有,但是为了维护以前的一些项目,又需要保留旧的版本。我知道的解决方案是用虚拟机,相当于有很多台“电脑”,缺点就是虚拟机性能不如直接在电脑上跑数据。请问你的解决方案是怎样的,最好能解释一下原因?谢谢!

我一般在linux上进行处理,linux上这一点还是比较方便的。
举个例子来说,我想既用freesurfer 7.1.1,又用freesurfer 6.0.1,我会同时编译(或者是直接解压缩包,记不太清楚了)两个版本的freesurfer到机器上。
然后在系统环境(centos是在/etx/profile)设置里,按照当时的需要只写进去其中一个版本的freesurer软件的路径。这样想用别的版本只需要在环境设置里改相应的路径就可以了。

1 个赞

嗯嗯,就是通过设置路径变量的方式来切换使用的软件版本。谢谢!

一波data处理完后我习惯会把生产环境打包成docker镜像存在实验室硬盘里,方便后面有人(或者自己)要动这批数据,却只修改部分东西

1 个赞

两年过去了,我目前比较倾向而且在实践的做法是用虚拟机,在虚拟机里可以再同时用其他方法来控制软件版本。之所以用虚拟机是因为我发现,在Linux里像我这样小白水平的用户,很容易把系统搞乱。使用虚拟机就可以保证宿主系统(host OS)是稳定的,我自己随便在虚拟机折腾。如果有一天换了一台电脑,可以直接把虚拟机拷贝到新电脑上就行了,无需再次搭建软件环境。这种方式的缺点就是有资源损耗,不过我更在意可靠性。

1 个赞