程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> Python虛擬環境Virtualenv使用教程

Python虛擬環境Virtualenv使用教程

編輯:更多關於編程

       這篇文章主要介紹了Python虛擬環境Virtualenv簡明教程,本文整合了兩篇關於Virtualenv的使用教程,相信大家有通過本文一定可以學會如何使用Virtualenv,需要的朋友可以參考下

      virtualenv用於創建獨立的Python環境,多個Python相互獨立,互不影響,它能夠:

      1. 在沒有權限的情況下安裝新套件

      2. 不同應用可以使用不同的套件版本

      3. 套件升級不影響其他應用

      安裝

      代碼如下:

      sudo apt-get install python-virtualenv

      使用方法

      [code]

      virtualenv [虛擬環境名稱]

      如,創建**ENV**的虛擬環境

      代碼如下:

      virtualenv ENV

      默認情況下,虛擬環境會依賴系統環境中的site packages,就是說系統中已經安裝好的第三方package也會安裝在虛擬環境中,如果不想依賴這些package,那麼可以加上參數 --no-site-packages建立虛擬環境

       代碼如下:

      virtualenv --no-site-packages [虛擬環境名稱]

      啟動虛擬環境

       代碼如下:

      cd ENV

      source ./bin/activate

      注意此時命令行會多一個(ENV),ENV為虛擬環境名稱,接下來所有模塊都只會安裝到該目錄中去。

      退出虛擬環境

       代碼如下:

      deactivate

      在虛擬環境安裝Python套件

      Virtualenv 附帶有pip安裝工具,因此需要安裝的套件可以直接運行:

      代碼如下:

      pip install [套件名稱]

      如果沒有啟動虛擬環境,系統也安裝了pip工具,那麼套件將被安裝在系統環境中,為了避免發生此事,可以在~/.bashrc文件中加上:

      代碼如下:

      export PIP_REQUIRE_VIRTUALENV=true

      或者讓在執行pip的時候讓系統自動開啟虛擬環境:

       代碼如下:

      export PIP_RESPECT_VIRTUALENV=true

      Virtualenvwrapper

      Virtaulenvwrapper是virtualenv的擴展包,用於更方便管理虛擬環境,它可以做:

      1. 將所有虛擬環境整合在一個目錄下

      2. 管理(新增,刪除,復制)虛擬環境

      3. 切換虛擬環境

      4. ...

      安裝

       代碼如下:

      sudo easy_install virtualenvwrapper

      此時還不能使用virtualenvwrapper,默認virtualenvwrapper安裝在/usr/local/bin下面,實際上你需要運行virtualenvwrapper.sh文件才行,先別急,打開這個文件看看,裡面有安裝步驟,我們照著操作把環境設置好。

      創建目錄用來存放虛擬環境

      代碼如下:

      mkdir $HOME/.virtualenvs

      在~/.bashrc中添加行: export WORKON_HOME=$HOME/.virtualenvs

      在~/.bashrc中添加行:source /usr/local/bin/virtualenvwrapper.sh

      運行: source ~/.bashrc

      此時virtualenvwrapper就可以使用了。

      列出虛擬環境列表

       代碼如下:

      workon

      也可以使用

       代碼如下:

      lsvirtualenv

      新建虛擬環境

      復制代碼 代碼如下:

      mkvirtualenv [虛擬環境名稱]

      啟動/切換虛擬環境

       代碼如下:

      workon [虛擬環境名稱]

      刪除虛擬環境

      代碼如下:

      rmvirtualenv [虛擬環境名稱]

      離開虛擬環境

       代碼如下:

      deactivate

      ------------------------------------------------------------------------------------------------------------------------------------------------------------

      virtualenv通過創建獨立Python開發環境的工具, 來解決依賴、版本以及間接權限

      問題. 比如一個項目依賴Django1.3 而當前全局開發環境為Django1.7, 版本跨度過大, 導致不兼容使項目無法正在運行, 使用virtualenv可以解決這些問題.

      virtualenv創建一個擁有自己安裝目錄的環境, 這個環境不與其他虛擬環境共享庫, 能夠方便的管理python版本和管理python庫

      1. 安裝Virtualenv

      使用pip安裝Virtualenv, 使用過python的都應該知道pip包管理神器吧, 即使不知道, 網站也有大把的教程, 不過推薦查看官方安裝指南

       代碼如下:

      $ pip install virtualenv

      //或者由於權限問題使用sudo臨時提升權限

      $ sudo pip install virtualenv

      2. virtualenv基本使用

      現在開始使用virtualenv管理python環境

       代碼如下:

      ➜ Test git:(master) ✗ virtualenv ENV #創建一個名為ENV的目錄, 並且安裝了ENV/bin/python, 創建了lib,include,bin目錄,安裝了pip

      New python executable in

      Installing setuptools, pip...done.

      ➜ Test git:(master) ✗ cd ENV

      ➜ ENV git:(master) ✗ ll

      drwxr-xr-x 14 andrew_liu staff 476 12 8 08:49 bin

      drwxr-xr-x 3 andrew_liu staff 102 12 8 08:49 include

      drwxr-xr-x 3 andrew_liu staff 102 12 8 08:49 lib

      lib,所有安裝的python庫都會放在這個目錄中的lib/pythonx.x/site-packages/下

      bin,bin/python是在當前環境是使用的python解釋器

      如果在命令行中運行virtualenv --system-site-packages ENV, 會繼承/usr/lib/python2.7/site-packages下的所有庫, 最新版本virtualenv把把訪問全局site-packages作為默認行為

      default behavior.

      2.1. 激活virtualenv

      代碼如下:

      #ENV目錄下使用如下命令

      ➜ ENV git:(master) ✗ source ./bin/activate #激活當前virtualenv

      (ENV)➜ ENV git:(master) ✗ #注意終端發生了變化

       代碼如下:

      #使用pip查看當前庫

      (ENV)➜ ENV git:(master) ✗ pip list

      pip (1.5.6)

      setuptools (3.6)

      wsgiref (0.1.2) #發現在只有這三個

      pip freeze #顯示所有依賴

      pip freeze > requirement.txt #生成requirement.txt文件

      pip install -r requirement.txt #根據requirement.txt生成相同的環境

      2.2. 關閉virtualenv

      使用下面命令

       代碼如下:

      $ deactivate

      2.3. 指定python版本

      可以使用-p PYTHON_EXE選項在創建虛擬環境的時候指定python版本

      代碼如下:

      #創建python2.7虛擬環境

      ➜ Test git:(master) ✗ virtualenv -p /usr/bin/python2.7 ENV2.7

      Running virtualenv with interpreter /usr/bin/python2.7

      New python executable in ENV2.7/bin/python

      Installing setuptools, pip...done.

       代碼如下:

      #創建python3.4虛擬環境

      ➜ Test git:(master) ✗ virtualenv -p /usr/local/bin/python3.4 ENV3.4

      Running virtualenv with interpreter /usr/local/bin/python3.4

      Using base prefix '/Library/Frameworks/Python.framework/Versions/3.4'

      New python executable in ENV3.4/bin/python3.4

      Also creating executable in ENV3.4/bin/python

      Installing setuptools, pip...done.

      到此已經可以解決python版本沖突問題和python庫不同版本的問題

      3. 其他

      3.1. 生成可打包環境

      某些特殊需求下,可能沒有網絡, 我們期望直接打包一個ENV, 可以解壓後直接使用, 這時候可以使用virtualenv -relocatable指令將ENV修改為可更改位置的ENV

      代碼如下:

      #對當前已經創建的虛擬環境更改為可遷移

      ➜ ENV3.4 git:(master) ✗ virtualenv --relocatable ./

      Making script ./bin/easy_install relative

      Making script ./bin/easy_install-3.4 relative

      Making script ./bin/pip relative

      Making script ./bin/pip3 relative

      Making script ./bin/pip3.4 relative

      3.2. 獲得幫助

       代碼如下:

      $ virtualenv -h

      當前的ENV都被修改為相對路徑, 可以打包當前目錄, 上傳到其他位置使用

      這並不能使虛擬環境跨平台使用

      4. 參考鏈接

      virtualenv官方文檔 http://virtualenv.readthedocs.org/en/latest/virtualenv.html

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved