python之virtualenv

一 virtualenv簡介

 virtualenv------用來創建一個虛擬的python環境,一個專屬於項目的python環境。用virtualenv 來保持一個乾淨的環境很是有用html

在開發Python應用程序的時候,系統安裝的Python3只有一個版本:3.4。全部第三方的包都會被pip安裝到Python3的site-packages目錄下。python

若是咱們要同時開發多個應用程序,那這些應用程序都會共用一個Python,就是安裝在系統的Python 3。若是應用A須要jinja 2.7,而應用B須要jinja 2.6怎麼辦?這種狀況下,每一個應用可能須要各自擁有一套「獨立」的Python運行環境。virtualenv就是用來爲一個應用建立一套「隔離」的Python運行環境。django

二 基本使用

1 安裝方式

經過pip安裝virtualenv:vim

pip install virtualenv

 爲一個工程項目搭建一個虛擬環境:bash

cd my_project
virtualenv --no-site-packages --python=python3  venvName # 獲得獨立第三方包的環境,而且指定解釋器是python3

# 注意若是提示找不到virtualenv須要先執行一下如下命令:app

[root@dc Python3] /usr/bin/easy_install virtualenv

 要開始使用虛擬環境,其須要被激活:ui

source my_project_env/bin/activate

 停用虛擬環境:spa

deactivate

停用後將回到系統默認的Python解釋器code

2 查看已安裝包

用pip freeze查看當前安裝的python包htm

pip freeze

  這將會建立一個 requirements.txt 文件,其中包含了當前環境中全部包及 各自的版本的簡單列表

pip freeze > requirements.txt

安裝requirements文件中的包

pip install -r requirements.txt

三 虛擬環境之virtualenvwrapper

virtualenv 的一個最大的缺點就是:

每次開啓虛擬環境以前要去虛擬環境所在目錄下的 bin 目錄下 source 一下 activate,這就須要咱們記住每一個虛擬環境所在的目錄。

而且還有可能你忘記了虛擬環境放在哪,使用virtualenvwrapper管理你的虛擬環境(virtualenv),其實他就是統一管理虛擬環境的目錄,而且省去了source的步驟。

1 安裝virtualenvwrapper

pip3 install virtualenvwrapper

2 設置Linux的環境變量,每次啓動就加載virtualenvwrapper

把下面兩行代碼添加到 ~/.bashrc文件中
打開文件
vim ~/.bashrc
寫入如下兩行代碼
export WORKON_HOME=~/Envs   #設置virtualenv的統一管理目錄
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'   #添加virtualenvwrapper的參數,生成乾淨隔絕的環境
export VIRTUALENVWRAPPER_PYTHON=/opt/python347/bin/python3     #指定python解釋器
source /opt/python34/bin/virtualenvwrapper.sh #執行virtualenvwrapper安裝腳本
讀取文件,使得生效,此時已經可使用virtalenvwrapper
source ~/.bashrc

3 基本使用virtualenvwrapper

建立一個虛擬環境:
$ mkvirtualenv my_django115
這會在 ~/Envs 中建立 my_django115 文件夾。

在虛擬環境上工做:激活虛擬環境my_django115
$ workon my_django115


再建立一個新的虛擬環境
$ mkvirtualenv my_django2

virtualenvwrapper 提供環境名字的tab補全功能。
當有不少環境, 而且很難記住它們的名字時,這就顯得頗有用。
workon還能夠任意中止你當前的環境,能夠在多個虛擬環境中來回切換 workon my_django115
workon my_django2 也能夠手動中止虛擬環境 deactivate 刪除虛擬環境,須要先退出虛擬環境 rmvirtualenv my_django115

4 經常使用其餘命令

lsvirtualenv
列舉全部的環境。
cdvirtualenv
導航到當前激活的虛擬環境的目錄中,好比說這樣您就可以瀏覽它的 site-packages 。
cdsitepackages
和上面的相似,可是是直接進入到 site-packages 目錄中。
lssitepackages
顯示 site-packages 目錄中的內容。

完整官網介紹:https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html
相關文章
相關標籤/搜索