Virtualenv入門基礎教程

本文目錄:

[TOC]
虛擬環境簡介

VirtualEnv用於在一臺機器上建立多個獨立的Python虛擬運行環境,多個Python環境相互獨立,互不影響,它可以:

    在沒有權限的狀況下安裝新套件
    不一樣應用可使用不一樣的套件版本
    套件升級不影響其餘應用

虛擬環境是在Python解釋器上的一個私有複製,你能夠在一個隔絕的環境下安裝packages,不會影響到你係統中全局的Python解釋器。

虛擬環境很是有用,由於它能夠防止系統出現包管理混亂和版本衝突的問題。爲每一個應用程序建立一個虛擬環境能夠確保應用程序只能訪問它們本身使用的包,從而全局解釋器只做爲一個源且依然整潔乾淨去更多的虛擬環境。另外一個好處是,虛擬環境不須要管理員權限。
安裝Virtualenv

大多數Linux發行版都提供一個virtualenv包。例如,Ubuntu用戶就可使用如下命令進行安裝:

$ sudo apt-get install python-virtualenv

若是你使用的是Mac OSX,你可使用 easy_install 安裝virtualenv:

$ sudo easy_install virtualenv

若是你使用的是Microsoft Windows或者是任何沒有提供官方virtualenv包的操做系統,接下來你會有一個稍微複雜的安裝過程。

使用你的web瀏覽器,導航到 https://bitbucket.org/pypa/setuptools/ ,setuptools安裝程序的主頁,在"Downloads"欄目找到連接下載一個叫 ez_setup.py 安裝程序腳本。保存這個文件到你電腦的臨時文件夾中,而後在那個目錄下運行如下命令:

$ python ez_setup.py $ easy_install virtualenv

注:前一個命令必須由管理員權限的帳戶發出。在Microsoft Windows,以管理員身份選項運行命令提示符窗口。在基於Unix的系統中,兩個安裝命令前面必須加上 sudo 或做爲 root 用戶執行。一旦安裝完畢,virtualenv程序能夠經過普通帳戶執行。
建立虛擬環境

安裝好以後,咱們就可使用virtualenv命令建立Python虛擬環境了。這個命令有一個須要的參數:虛擬環境的名稱。一個指定名稱的文件夾和在裏面的、與虛擬環境相關的全部文件會在當前目錄下被建立。通常給虛擬環境約定命名爲venv:

$ virtualenv venv
New python executable in venv/bin/python2.7
Also creating executable in venv/bin/python
Installing setuptools............done.
Installing pip...............done.

如今你有一個venv文件夾和一個全新的虛擬環境,包含一個私有的Python解釋器。使用虛擬環境的時候,你必須「激活」它。若是你是使用bash命令行工具(Linux和Mac OSX用戶),你可使用這個命令激活虛擬環境:

$ source venv/bin/activate

若是你是使用Microsoft Windows,激活命令是:

> venv\Scripts\activate

當虛擬環境被激活了,Python解釋器的位置會被添加到 PATH 中,可是這個改動並非永久的;它隻影響當前命令會話。提醒一下,你激活了虛擬環境,該激活命令會將環境的名稱包含在命令提示符裏面:

(venv)$

當你在虛擬環境中完成工做並想回到全局Python解釋器,在命令提示符中輸入 deactivate 就能夠了。
使用pip安裝python包

大多數的Python包是經過 pip 程序安裝的,在建立虛擬環境的時候virtualenv會自動添加進去。當一個虛擬環境被激活後,pip程序的位置會被添加到 PATH 中。

    注:若是你使用pyvenv建立虛擬環境在Python 3.3中,則必須手動安裝pip。安裝指令在pip網站上能夠找到。在Python 3.4下,pyvenv會自動安裝pip。

好比,安裝Flask到虛擬環境中,使用下面的命令:

(venv)$ pip install flask

經過這個命令,Flask和它的依賴集都會安裝到虛擬環境中。你能夠驗證Flask是否正確安裝經過啓動Python解釋器並試着導入它:

(venv)$ python
>>> import flask
>>>

若是須要安裝的包比較多的時候,這樣作會比較繁瑣,咱們還有一鍵安裝的方法。首先新建一個文本文件,如:requirements.txt,而後將你須要安裝的包名保存到該文件中(根據本身的須要),以下:

Babel==1.3
Flask==0.10.1
Flask-Login==0.2.7
Flask-SQLAlchemy==1.0
Flask-WTF==0.9.3
Jinja2==2.7.1
SQLAlchemy==0.8.2
WTForms==1.0.5
Werkzeug==0.9.4
psycopg2==2.5.1
...

最後你只須要輸入如下命令,全部須要的包就能夠所有安裝好了:

(venv)$ pip install -r requirements.txt

若是沒有出現錯誤,祝賀你:安裝成功了。

若要查看當前環境安裝了哪些包,可使用下面的命令:

(venv)$ pip freeze

Comments !python

相關文章
相關標籤/搜索