我認爲Python一個很大的優點就是官方網站給出的衆多的軟件包,幾乎能幫助你實現你想要的任何功能,避免了重複開發的勞動,可是零零碎碎的包,以及每一個包的各類各樣的版本管理就成爲了一個比較棘手的問題,所以有了virtuallenv的出現,安裝好這個之後,就至關於有了一個獨立的內存空間,舉例來說,你有了一個名稱爲mysite_1的工程,使用的Python2.7的版本,另外一個工程是mysite_2,使用的是Python3.0的版本,因爲Python版本彼此的兼容性差別,常規的方法是經過配置文件,讓工程mysite_1讀取Python2.7的目錄,mysite_2讀取Python3.0的目錄。如今有了一個更簡單的方法就是經過隔離沙箱這虛擬的環境,能夠實現各個工程的彼此獨立。html
下面介紹一下virtualenv在Windows平臺下的安裝和使用。python
(1)官方網站下載https://virtualenv.pypa.io/en/latest/python2.7
我一般是使用pypm進行下載:ide
----------------------------------------------------------------工具
pypm install virtualenv -gpost
----------------------------------------------------------------網站
-g 的意思是安裝在Python的默認全局目錄下,通常是Lib的site-packages目錄下面,咱們也能夠另外製定virtualenv的安裝目錄,經過 -E DIR 或者 --virtualenv = Dir 進行設置,可是推薦將virtualenv安裝在site-packages目錄下面。ui
(例如,pypm -E C:\mysite_1 install -r config\requirements.pip 意思就是指將requirement目錄下的全部的文件都下載並安裝到C盤下的mysite_1目錄下)this
(2)建立虛擬目錄url
----------------------------------------------------------------
進入你想要建立的目錄下面,例如C盤
cd C:\
virtualenv mysite_1
----------------------------------------------------------------
此時,在C盤下能夠發現新生成的mysite_1文件夾,裏面包含三個文件,分別爲
mysite_1 --------*Include
--------*Lib
--------*Scripts
(3)啓動
打開mysite_1下的Scripts文件夾,
>cd mysite_1
C:\mysite_1
>cd Script
C:\mysite_1\Script>activate
(mysite_1)C:\mysite_1\Script
發現前面多了一個你建立的工程目錄名,代表此時已經進入到虛擬環境。
咱們能夠用pypm 安裝工具來進行安裝,也能夠利用pip工具進行安裝,可是推薦使用pip。緣由是pip的功能更增強大。
(a )使用pypm 安裝的方法
pypm -E C:\mysite_1 install -r config\requirement.pip
(b)使用pip 安裝方法
pip install -r config\requirement.pip
須要注意的是:對於(a),咱們指定了安裝的絕對路徑,所以,能夠在沒有進入隔離沙箱環境下進行安裝,可是對於(b)咱們必須在進入隔離沙箱的狀況下使用。
另外,window下咱們還能夠將.pip中的文件下載下來,解壓後python setup.py install 進行安裝,一樣要在進入隔離沙箱的狀況下使用。
詳細的關於pip和pypm的使用方法能夠查閱其詳細說明文檔。
(4)退出
只須要執行deactivate就退出了虛擬環境
咱們從DjangoPackages下載一個工程在實驗一下虛擬目錄的使用
http://mysmile.readthedocs.org/en/latest/Getting%20started/quick_install_guide.html
(1)
[注意]The --system-site-packages Option
If you build with virtualenv --system-site-packages ENV, your virtual environment will inherit packages from /usr/lib/python2.7/site-packages (or wherever your global site-packages directory is).
This can be used if you have control over the global site-packages directory, and you want to depend on the packages there. If you want isolation from the global system, do not use this flag。
將下載的mysmile文件解壓到虛擬沙箱中,文件結構以下:
mysite_1 --------*Include
--------*Lib
--------*Scripts
--------*mysmile-0.5.1
進入mysmile-0.5.1。能夠看到manage.py文件,啓動:python manage.py runserver.在url中輸入http://127.0.0.1:8000/admin便可以看到下面啓動的網頁:
參考:
http://mengzhuo.org/blog/virtualenv%E5%92%8Cpip%E5%B0%8F%E6%8E%A2.html