服务器 多用户、多版本python管理

概念

多用户公用服务器,可能会导致python版本冲突。可用的解决方案包括两种:(1)python virtualenv和(2)conda evn 推荐使用conda evn。

1 什么是virtualenv(venv)

什么是virtualenv(venv):这是一个虚拟环境管理器,它可以让你每个项目甚至每个脚本配置一个自定义的Python解释器环境,这最大的好处是我可以不污染开发环境。

2 为什么不用 python virtualenv ?

python virtualenv能管理“包”的维度,virtualenv能够做到:

            ->  virtualenv环境1(tf1.8)
python3.6
            ->  virtualenv环境2(tf1.9)

但是virtualenv最大的 缺点是没法在“python版本”的维度管理。比如 有的项目使用py2.7的环境,有的项目使用py3.6 的环境,此时,virtualenv无能为力。

而conda的优势就是不仅可以做到包管理,还能做到python版本管理。如下图:


                          ->  virtualenv环境1(tf1.8)
        ->    python3.6
                          ->  virtualenv环境2(tf1.9)

conda

                          ->  virtualenv环境3(openCV2)
        ->    python2.7
                          ->  virtualenv环境4(tf1.9)

conda evn 使用步骤

在某生产服务器(centos)初次建立anaconda环境,需要运行1-4步, 后面只需执行3-4步

1. root 安装anaconda

注意,安装路径不要在/root下,可以装在:PATH=/usr/local/anaconda3

首先是阅读许可申明,可以一直按Enter键,然后问是否同意许可,输入yes,接着问Anaconda安装的路径,直接按Enter键会安装到默认的路径,也就是当前用户的目录下,这样也就只有当前用户可以使用Anaconda,要多用户共享安装,选择其他路径。在linux下安装第三方多用户共享使用的软件一般都安装在 /usr/local 目录下,输入路径后回车

安装完后在/etc/profile文件中配置环境变量vi /etc/profile,在/etc/profile文件末尾加入下面命令

export PATH=/usr/local/anaconda3/bin:$PATH

改完这个文件使用 以下命令在不用重启系统的情况下使修改的内容生效

source /etc/profile

2.创建新的用户组

创建新的用户组 condaGroup 可以改为想设的其他组名
groupadd condaGroup

修改安装的文件夹的权限

chmod 770 -R /usr/local/anaconda3

把 Anaconda安装的整个文件夹 组的拥有者,设为刚才创建的组名

chgrp -R condaGroup /usr/local/anaconda3

把用户添加进组 :usermod -a -G condaGroup qtxu

此时,组用户就有了anaconda安装包与创建虚拟环境的权利。

3. 使用具体用户

登陆你的用户,如:qtxu(确保该用户属于 用户组)

更改环境变量:引入anaconda路径

vi ~/.bashrc

export PATH=/usr/local/anaconda3/bin:$PATH

source ~/.bashrc

4. Anaconda创建环境

Anaconda创建环境://下面是创建python=3.6版本的环境,取名叫 cvPy36

conda create -n cvPy36 python=3.6

激活环境//下面这个cvPy36是个环境名

source activate cvPy36

用完退出环境

source deactivate

5 使用自己的环境

安装自己需求的包:source activate cvPy36 先激活环境 再pip安装即可

执行自己的项目:source activate cvPy36 先激活环境 再run即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章