Linux管理虛擬環境

作爲一個輕度強迫症患者,總喜歡分門別類的歸置一些物品,在編程當中,也是這樣子的。

在這裏插入圖片描述

對於在Python中,如果想要將每一個項目的依賴包都獨立出來,即新建每一個項目都新建一個環境。而不是像我們在入門階段時,把所有pip install命令安裝的包都放在一個文件夾裏面。

一、安裝python

首先是Linux系統中已經具備python環境,其中方法1最爲常用

方法1:
如果是雲服務器的話,國內的阿里雲和騰訊雲等服務器鏡像庫裏都已經有了python3的安裝。即使用sudo yum install python3進行安裝。
方法2:
如果是標準的Linux服務器的話,裏面是不含有python3的yum安裝包,因此需要安裝EPEL,即Extra Packages for Enterprise Linux的簡稱。

  1. 使用 sudo yum install epel-release 命令安裝 epel 擴展軟件包。
  2. 使用 sudo yum install python3 安裝Python3版本。

方法3:

  1. 進入https://www.python.org/downloads/source/的python官網選擇python版本,並下載tar包。
  2. 使用tar命令對Linux目錄中的包文件進行解壓tar -zxvf Python3.7.5.tgz
  3. 進入解壓後的文件cd Python-3.7.5,運行./configure命令,生成makefile文件
  4. 運行 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xzdevel libffi-devel命令安裝缺少的模塊
  5. 運行sudo make & sudo make install命令,安裝Python.

提示:
; (分號)cmd1; cmd2 表示執行完cmd1後,執行cmd2,無論cmd1指令是否執行成功
|| (兩個或運算符) cmd1 || cmd2 # 先執行cmd1,cmd1執行失敗以後纔會執行cmd2
&&(兩個與運算符) cmd1 && cmd2 # 先執行cdm1,cmd1執行成功以後,纔會執行cmd2

  1. 運行sudo make & sudo make install命令,安裝Python.
  2. 運行ln -s /usr/local/bin/python3.7 /usr/bin/python3命令,在 /usr/bin目錄下建立Python3.7的軟連接。

軟連接的意思就是將python3.7 變爲python3的快捷方式

  1. 運行python3命令可以打開python3.7
  • 問題:但是此時每次python安裝環境時都要使用pip3 這個命令,可否使用pip這個命令啓動pip,答案是可以的。
  • 解決方式
    1. 進入/usr/bin這個目錄。
    1. 使用ll pip*,列出所有名字中以pip開頭的文件。
    1. 使用rm pip,刪除pip文件
    1. 使用sudo ln -s pip3 pip增加名爲pip的軟鏈接,指向pip3
  • 提示:如果提示權限不夠的話,在命令前面增加 sudo 指令

二、安裝virtualenv

借用廖雪峯前輩的總結就是:

virtualenv爲應用提供了隔離的Python運行環境,解決了不同應用間多版本的衝突問題

1. 安裝virtualenv

sudo pip install virtualenv

2.安裝virtualenvwrapper

sudo pip install virtualenvwrapper
在安裝完這兩個文件是否可以愉快的玩耍了?答案是:No。
此時我們還需要配置一下用戶目錄下的.bashrc文件,當然也可以把它加到根目錄下的.bashrc文件。當然,這種做法是不推薦的。
.bashrc末尾處添加以下命令:

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=~/.envs
source /usr/local/bin/virtualenvwrapper.sh

提示:

第一句:export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3的意思是: 指定虛擬環境下默認的python版本是python3
第二句:export WORKON_HOME=~/.envs的意思是: 指定新創建的虛擬環境保存在~/.envs當中,
第三句:source /usr/local/bin/virtualenvwrapper.sh的意思是:執行virtualenvwrapper.sh腳本

3.執行~/.bashrc文件

source ~/.bashrc

提示:這段命令的意思是執行腳本文件~/.bashrc,否則將需要重新連接雲服務器。在啓動服務器的時候,會自動執行該腳本文件

4.新建虛擬環境

使用mkvirtualenv test命令就可以新建一個名字叫做test的虛擬環境,並且存放在~/.envs當中.

在這個新的虛擬環境中,python所下載的包都放在同一個地方:/home/JiangCheng/.envs/test/lib/python3.6/site-packages,如下圖所示:

在這裏插入圖片描述

5.管理虛擬環境的指令:

mkvirtualenv test  # 創建並切換到test虛擬環境
deactivate  # 離開test虛擬環境
rmvirtualenv test # 刪除test虛擬環境
workon demo # 切換到demo虛擬環境
rmvirtualenv test# 刪除虛擬環境test

提示:在某一環境中使用pip install某一個包時,不能使用sudo的命令!!!否則會將包安裝到大的虛擬環境:/usr/local/lib64/python3.6/site-packages這個目錄裏面

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