1. 程式人生 > >實用的 Python —— 使用虛擬環境 virtualenv(Linux)

實用的 Python —— 使用虛擬環境 virtualenv(Linux)

虛擬環境是 Python 直譯器的一個私有副本,在該環境中你可以安裝私有包,而不會影響系統的全域性 Python 直譯器

1. 虛擬環境的實用性

  • (1)在系統的 Python 直譯器中避免包的混亂和版本的衝突;
  • (2)為每個程式單獨建立虛擬環境可以保證程式只能訪問虛擬環境中的包,從而保證全域性直譯器的乾淨整潔,使其(全域性直譯器)只作為建立(更多)虛擬環境的源;
  • (3)不需要管理員許可權(不斷的 sudo)

2. ubuntu 下的安裝

  • (1)安裝

    $ sudo apt-get install python-virtualenv
  • (2)驗證:

    $ virtualenv
    --version

3. 操作和使用

virtualenv 命令只有一個必須的引數,即虛擬環境的名字。建立虛擬環境後,當前資料夾下會出現一個子資料夾,名字就是上述命令中指定的引數,也即虛擬環境的名字,與虛擬環境相關的檔案都儲存在這個資料夾下,按照慣例,一般虛擬環境會被命名為 venv(Virtual Environment)

$ sudo virtualenv venv
Running virtualenv with interpreter /usr/bin/python2
New python executable in /home/zhang/Desktop/code/flasky/venv/bin/python2
Also creating executable in
/home/zhang/Desktop/code/flasky/venv/bin/python Installing setuptools, pkg_resources, pip, wheel...done.

現在當前資料夾下就多了一個名為 venv 的子資料夾,它儲存著一個全新的虛擬環境,其中有一個私有的 Python 直譯器。在使用該虛擬環境之前,需要先將其啟用,

$ source ./venv/bin/activate

虛擬環境被啟用後,其中(虛擬環境中的) Python 直譯器的路徑就被
新增進 PATH 中,但這種改變不是永久的,它隻影響當前的命令列會話。為了提醒你已經激活了虛擬環境,啟用虛擬環境的命令會修改提示符,最左側加入環境名:

(venv) $ 
(venv) $ echo $PATH
                # 驗證是否新增進 PATH 變數

當虛擬環境中的工作完成之後,想要回到全域性 Python 直譯器,可在命令列提示符下輸入:

(venv) $ deactivate
                # 因為已將 venv/bin/ 新增進 PATH 變數
                # 而 deactivate 正是該資料夾下的命令

進入 Python 命令列:

(venv) $ python
>>>