虛擬環境的搭建 virtualenv 和 virtualenvwrapper

虛擬環境 virtual environment

  它是一個虛擬化,從電腦上獨立開闢出來的環境。通俗的來說,虛擬環境就是藉助虛擬機docker來把一部份內容獨立出來,咱們把這部分獨立出來的東西稱之爲 容器,在這個容器中,咱們能夠只安裝咱們開發須要依賴的包,各個容器之間相互隔離,互不影響。python

爲何要搭建虛擬環境?

  在使用 Python 開發的過程當中,工程一多,不免會碰到不一樣的工程依賴不一樣版本的庫的問題;亦或者是在開發過程當中不想讓物理環境裏充斥各類各樣的庫,引起將來的依賴災難。此時,咱們可使用虛擬環境 能夠搭建獨立的運行環境,使得單個項目的運行環境與其它項目互不影響。 docker

  另外更值得一提的是:在虛擬環境中使用pip安裝,不須要向系統目錄中寫入數據,能夠繞過某些系統的權限設置。segmentfault

如何搭建虛擬環境?

咱們能夠經過 virtualenvvirtualenvwrapper來實現虛擬環境的搭建。

1、virtualenv

安裝 virtualenv

能夠經過python包管理工具pip進行安裝:python3.x

pip install virtualenv

亦或者使用anaconda命令安裝:bash

conda install virtualenv

使用 virtualenv

建立虛擬環境
virtualenv path/virtualenv_name

指定特定的python版本建立虛擬環境加上 -p 參數便可:app

virtualenv -p pythonx(.x) path/vituralenv_name

好比咱們建立 spider 工程使用 scrapy 框架去爬取某個網站的信息,咱們假設這個工程在路徑爲 ~/code/spider ,而且把虛擬環境直接放在 spider 工程目錄下。框架

virtualenv ~/code/spider/py3_virtualenv

這樣虛擬環境 py3_virtual 就建立好了。此時能夠看到,在spider/py3_virtualenv目錄下面會有3個目錄被建立:scrapy

  • bin 中包含一些在這個虛擬環境中能夠用的命令,以及開啓虛擬環境的腳本activate;
  • include 中包含虛擬環境中的頭文件,包括python的頭文件;
  • lib 中就是一些開發所依賴的庫了....

此時,咱們僅僅是建立了虛擬環境,並無真正進入到虛擬環境中。ide

激活虛擬環境

只須要開啓虛擬環境bin目錄中的腳本 activate工具

source virtualenv_path/bin/activate

對於spider工程來講,進入剛剛建立好的虛擬環境:

source ~/spider/py3_virtualenv/bin/activate

當終端命令的用戶前多出(虛擬環境名稱)後,表明進入虛擬環境。

接下來就能夠安裝咱們須要的 scrapy 庫了......

退出虛擬環境

只須要經過如下命令便可退出當前虛擬環境:

deactivate

此時就回到了本機的物理環境中,若是你哪天忘記了虛擬環境的位置,那麼之後就沒法再次開啓該虛擬環境!

刪除虛擬環境

直接將改革建立虛擬環境的py3_virtualenv文件夾 刪除掉便可.....

2、virtualenvwrapper

有了 virtualenv 爲何還要學習使用 virtualenvwrapper

上面 virtualenv 結束時候提到:若是忘記了虛擬環境的位置,那麼之後就沒法再次開啓該虛擬環境!

virtualenv 的最大的缺點就是,每次開啓虛擬環境以前,要在虛擬環境所在目錄的 bin 目錄下 開啓虛擬環境的腳本 activate,所以咱們須要記住每一個虛擬環境所在的目錄。

virtualenvwrapper 是經過配置環境變量 WORKON_HOME 把全部的虛擬環境都放在環境變量 WORKON_HOME 目錄中,方便了虛擬環境的管理,且省去了每次開啓虛擬環境的 source 操做,並且不一樣虛擬環境之間能夠直接進行切換,使得虛擬環境更加好用。

安裝 virtualenvwrapper

能夠經過python包管理工具pip進行安裝:

pip install virtualenvwrapper

亦或者使用anaconda命令安裝:

conda install virtualenvwrapper

使用 virtualenvwrapper

使用前 首先須要對 virtualenvwrapper 進行配置,它須要指定一個 WORKON_HOME 環境變量,而且運行一下初始化工具 virtualenvwrapper.shvirtualenvwrapper.sh 腳本在 /usr/local/bin/ 目錄下。 WORKON_HOME 環境變量的路徑就是來存放各類虛擬環境的目錄,咱們一般設置 WORKON_HOME 環境變量路徑爲 ~/.virtualenvs,即命令以下:

export WORKON_HOME='~/.virtualenvs'
source /usr/local/bin/virtualenvwrapper.sh

因爲每次使用都須要執行這兩次操做,所以咱們能夠寫在終端的配置文件中。例如,若是使用 bash,則須要將以上兩條命令添加到 ~/.bashrc 中,而後再執行 source ~/.bashrc 命令。

這樣每次啓動終端的時候就會自動執行上面兩條指令。

若是你的 Linux 系統僅僅安裝了 python3.x 版本,可能會出現virtualenvwrapper.sh 中 VIRTUALENVWRAPPER_PYTHON 路徑錯誤(點擊該文字進行文章轉跳)

建立虛擬環境
mkvirtualenv vituralenv_name

執行以上命令後,就會建立一個名爲 vituralenv_name 的虛擬環境,且它被存放在環境變量 WORKON_HOME 目錄下。

注意:使用 virtualenvwrappermkvirtualenv 命令建立虛擬環境後,直接自動激活並進入該虛擬環境。

指定特定的python版本建立虛擬環境加上 -p 參數便可:

mkvirtualenv -p pythonx(.x) vituralenv_name
進入虛擬環境

virtualenvwrapper 能夠經過 workon 進入虛擬環境。

workon virtualenv_name

並且能夠經過 workon 命令直接進行虛擬環境之間的切換!

退出虛擬環境

virtualenvwrappervirtualenv 同樣,直接經過 deactivate 命令退出虛擬環境。

deactivate
刪除虛擬環境
rmvirtualenv vituralenv_name
特別聲明一下virtualenvwrapper 中的命令支持 tab 鍵自動補全的哦!
相關文章
相關標籤/搜索