virtualenv is a tool to create isolated Python environments.
virtualenv 是創建獨立Python開發環境的工具,用於解決同一台機器上不同的Python工程的依賴、版本以及間接權限等問題。比如項目foo1依賴Django1.3,而項目foo2依賴Django1.7,而當前全局開發環境為Django1.8,版本的不同會導致項目所需包的版本不兼容等問題,使項目無法正常運行,使用virtualenv來創建相對獨立的虛擬環境,可以很好的解決此類問題。此外,值得一提的是,對於項目打包遷移,如部署Web應用項目等應用場景,virtualenv都很有用武之地。
virtualenv創建一個擁有自己安裝目錄的環境, 這個環境不與其他虛擬環境共享庫, 能夠方便的管理python版本和管理python庫。
下面介紹一下與使用Virtualenv相關的技巧。
1.安裝Virtualenv
$ pip install virtualenv //或者由於權限問題使用sudo臨時提升權限 $ sudo pip install virtualenv
2.virtualenv創建虛擬環境
1 virtualenv ENV 2 #創建一個名為ENV的目錄,並安裝了ENV/bin/python 3 #創建了lib,include,bin目錄,安裝了pip
lib目錄 : 所有安裝的python庫都會放在這個目錄中的lib/pythonX.X/site-packages/中 ;
bin目錄 : bin/python是當前虛擬環境使用的python解析器 ;
如果在命令行中運行
virtualenv --system-site-packages ENV
, 會繼承/usr/lib/python3.6/site-packages
下的所有庫, 最新版本virtualenv把把訪問全局site-packages
作為默認行為
default behavior.
3.激活virtualenv
1 #ENV目錄下使用如下命令 2 source ./bin/activate #激活當前virtualenv 3 #當用戶名前面出現小括號括起來的虛擬環境名時,表明虛擬環境被成功激活
使用“pip list”指令可查看當前庫
4.關閉virtualenv
deactivate
5.指定python版本
可使用-p PYTHON_EXE選項在創建虛擬環境的時候指定Python版本
1 #創建python2.7虛擬環境 2 virtualenv -p /usr/bin/python2.7 ENV2.7 3 4 #創建python3.4虛擬環境 5 virtualenv -p /usr/local/bin/python3.4 ENV3.4
這樣可以解決不同項目python版本沖突以及和python庫版本不兼容等問題。
6.生成可打包環境
某些特殊需求下,可能沒有網絡,我們希望直接打包一個ENV,解壓后直接使用,這時候可以使用virtualenv --relocatable指令將ENV修改為可更改位置的ENV
#對當前已經創建的虛擬環境更改為可遷移 virtualenv --relocatable ./
7.獲得幫助
virtualenv -h
8.官方文檔
http://virtualenv.readthedocs.org/en/latest/virtualenv.html