服務器 多用戶、多版本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即可

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