科研第一步

实现Linux服务器上创建python虚拟环境

Posted by Fans on September 14, 2021

科研第一步:实现Linux服务器上创建python虚拟环境

为什么要创建python虚拟环境

第一次写博客,想通过写博客的方式记录下自己研究生阶段的学习,回答标题,进入实验室之后,如果需要经常在github上跑别人的代码或者baseline的时候,基于现在的AI大多由python实现,但是在跑实验的时候由于python版本和tensorflow以及keras等各类库不兼容问题的时候很是头痛,因此我们需要实现快速构建一个python虚拟环境使得可以快速跑baseline模型,并且进行调试并且学习。

如何实现

第一步GPU驱动安装

  1. 查看服务器上linux的版本以及GPU信息,使用如下指令:

查看服务器上的GPU信息

  1. 根据系统版本及GPU型号寻找合适的显卡驱动并下载安装 NVIDIA显卡驱动安装网址 linux安装指令
wget -c https://us.download.nvidia.com/XFree86/Linux-x86_64/450.66/NVIDIA-Linux-x86_64-450.66.run

测试:输入nvidia-smi,如有表格输出说明驱动安装成功,如下: 显卡驱动安装成功

第二步anaconda实现创建虚拟环境

为什么选择anaconda

Anaconda可以帮助我们创建多个开发环境,也可以帮助我们安装第三方包。比如在安装tensorflow的时候,它会帮我们安装很多其余所配套的包,以至于不会发生版本兼容问题

安装anaconda指令

  1. 下载安装包 这里我们使用清华镜像文件下载会更快
    wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2020.07-Linux-x86_64.sh
    
  2. 安装
bash Anaconda3-2020.07-Linux-x86_64.sh
  1. 更新环境变量
source ~/.bashrc

创建python虚拟环境

conda创建

anaconda安装成功后即可以使用conda指令来创建虚拟环境 建立环境指令: conda create -n name python=3.6 name即想创建的虚拟环境名称,python后面可以输入想安装的python 版本,如果github上面的代码会出现python2.x的情况的时候,也可以安装python2.x版本 示例:conda create -n tf27 python=2.7 创建虚拟环境示例 如上图,创建了一个python=2.7,名称为tf27的虚拟环境

conda激活

创建完环境之后需要激活,使用指令 conda activate name name为刚才自己命名的虚拟环境名 示例:conda activate tf27 虚拟环境 此时注意左边的括号内已经从base变成了tf27,即我们从base环境切换到了tf27这个虚拟环境内,在这个虚拟环境中安装的任何python库都是只对这个虚拟环境生效的,即我们可以实现唯一的虚拟环境配置自己想要的库版本,注意:在这个虚拟环境内配置的包在base环境下是不能用的,但是我们也一般不用base环境跑代码。 若想切换回base环境只需使用指令

conda deactivate

验证

在base环境内输入conda env list,即可查看当前已经安装了哪些虚拟环境, 若要删除虚拟环境,需要conda env remove -n (环境名称)

在当前虚拟环境内安装tensorflow-gpu

只需要使用conda命令即可,

conda install tensorflow-gpu

如果需要选择版本,也可以conda install tensorflow-gpu=xxx 但是这样做conda会检测要安装的tf版本是否与当前python版本兼容,不兼容则拒绝安装

验证tf安装

输入python会看到当前python的版本信息 在python编辑环境下输入import tensorflow as tf以及tf.__version__即可看到tf的版本信息

附录

附上经常容易忘记的安装指令: pytorch-cuda版本的安装: pytorch官网版本下载 选择对应的适配,就可以使用不同的指令 在这里插入图片描述 经常下的是python3.6的pytorch

conda install pytorch==1.6.0 torchvision==0.7.0 -c pytorch

总结

至此,我们完成了在linux服务器上面搭建一个虚拟环境,并且可以实现安装任意版本的python和tensorflow,通过anaconda我们理论上可以创建很多的虚拟环境,用作跑出需要不同版本python以及深度学习框架的代码,但是为了更加方便的跑代码,我们一般会使用pycharm连接服务器或者jupyter与本次博客所用的东西结合起来,实现图形化编辑界面并且可以在服务器上跑代码,实现速度快,环境多,观感好等优点的写代码环境,使得更加方便的在不同虚拟环境下跑模型,下篇博客将写的就是pycharm连接服务器以及jupyter的使用。