1. 程式人生 > 實用技巧 >python三大神器之virtualenv

python三大神器之virtualenv

python三大神器之virtualenv

pip, virtualenv, fabric通稱為pythoner的三大神器。

virtualenv

virtualenv------用來建立一個虛擬的python環境,一個專屬於專案的python環境。用virtualenv 來保持一個乾淨的環境非常有用

測試環境:linux下

1、基本使用

通過pip安裝virtualenv:

pip install virtualenv

測試安裝:

virtualenv --version

為一個工程專案搭建一個虛擬環境:

cd my_project
virtualenv my_project_env

另外,如果存在多個python直譯器,可以選擇指定一個Python直譯器(比如``python2.7``),沒有指定則由系統預設的直譯器來搭建:

virtualenv -p /usr/bin/python2.7 my_project_env

將會在當前的目錄中建立一個名my_project_env的資料夾,這是一個獨立的python執行環境,包含了Python可執行檔案, 以及pip庫的一份拷貝,這樣就能安裝其他包了,不過已經安裝到系統Python環境中的所有第三方包都不會複製過來,這樣,我們就得到了一個不帶任何第三方包的“乾淨”的Python執行環境來。

要開始使用虛擬環境,其需要被啟用:

source my_project_env/bin/activate

停用虛擬環境:

deactivate

停用後將回到系統預設的Python直譯器

2、其他

用pip freeze檢視當前安裝版本

pip freeze

另外:

pip freeze > requirements.txt

這將會建立一個requirements.txt檔案,其中包含了當前環境中所有包及 各自的版本的簡單列表。您可以使用 “pip list”在不產生requirements檔案的情況下, 檢視已安裝包的列表。這將會使另一個不同的開發者(或者是您,如果您需要重新建立這樣的環境) 在以後安裝相同版本的相同包變得容易。

pip install -r requirements.txt

這能幫助確保安裝、部署和開發者之間的一致性。

virtualenvwrapper

提供了一系列命令使得和虛擬環境工作變得愉快許多。它把您所有的虛擬環境都放在一個地方。

  1. 將您的所有虛擬環境在一個地方。
  2. 包裝用於管理虛擬環境(建立,刪除,複製)。
  3. 使用一個命令來環境之間進行切換。

1、安裝

安裝(確保virtualenv已經安裝了):

pip install virtualenvwrapper
export WORKON_HOME=~/Envs  #設定環境變數
mkdir -p $WORKON_HOME #建立虛擬環境管理目錄
find / -name virtualenvwrapper.sh #找到virtualenvwrapper.sh的路徑
source 路徑 #啟用virtualenvwrapper.sh

預設virtualenvwrapper安裝在下面python直譯器中的site-packages,實際上需要執行virtualenvwrapper.sh檔案才行;所以需要先進行配置一下:

  • 找到virtualenvwrapper.sh的路徑:find/-name virtualenvwrapper.sh
  • 執行virtualenvwrapper.sh檔案:source 路徑

ps:每次要想使用virtualenvwrapper 工具時,都必須先啟用virtualenvwrapper.sh,另外,如果建立前要將即將的環境儲存到Envs中,就要先設定一下環境變數:export WORKON_HOME=~/Envs,再搭建

對於Windows,您可以使用virtualenvwrapper-win

安裝(確保virtualenv已經安裝了):

pip install virtualenvwrapper-win
在Windows中,WORKON_HOME預設的路徑是 %USERPROFILE%Envs 。

2、基本使用

1、建立一個虛擬環境:

mkvirtualenv project_env

這會在Envs中建立project_env虛擬環境

  選擇一個python直譯器來搭建:

mkvirtualenv env  --python=python2.7

2、在虛擬環境上工作:

 workon project_env

或者,您可以建立一個專案,它會建立虛擬環境,並在$WORKON_HOME中建立一個專案目錄。 當您使用workonproject_env 時,會cd-ed 到專案目錄中。

mkvirtualenv project_env

virtualenvwrapper提供環境名字的tab補全功能。當您有很多環境, 並且很難記住它們的名字時,這就顯得很有用。

workon也能停止您當前所在的環境,所以您可以在環境之間快速的切換。

3、停止虛擬環境

deactivate

4、刪除:

 rmvirtualenv project_env

3、其他有用的命令

lsvirtualenv    #列舉所有的環境。

cdvirtualenv    #導航到當前啟用的虛擬環境的目錄中,比如說這樣您就能夠瀏覽它的 site-packages。

cdsitepackages   # 和上面的類似,但是是直接進入到 site-packages 目錄中。

lssitepackages     #顯示 site-packages 目錄中的內容。

virtualenvwrapper 命令的完全列表

參考:http://pythonguidecn.readthedocs.io/zh/latest/dev/virtualenvs.html