virtualenv是一個(gè)創(chuàng)建隔絕的Python環(huán)境的工具。virtualenv創(chuàng)建一個(gè)包含所有必要的可執(zhí)行文件的文件夾,用來(lái)使用Python工程所需的包。
安裝
pipinstallvirtualenv
基本使用
為一個(gè)工程創(chuàng)建一個(gè)虛擬環(huán)境:
$cdmy_project_dir
$virtualenvvenv#venv為虛擬環(huán)境目錄名,目錄名自定義
virtualenvvenv將會(huì)在當(dāng)前的目錄中創(chuàng)建一個(gè)文件夾,包含了Python可執(zhí)行文件,以及pip庫(kù)的一份拷貝,這樣就能安裝其他包了。虛擬環(huán)境的名字(此例中是venv)可以是任意的;若省略名字將會(huì)把文件均放在當(dāng)前目錄。
在任何你運(yùn)行命令的目錄中,這會(huì)創(chuàng)建Python的拷貝,并將之放在叫做venv的文件中。
你可以選擇使用一個(gè)Python解釋器:
$virtualenv-p/usr/bin/python2.7venv#-p參數(shù)指定Python解釋器程序路徑
這將會(huì)使用/usr/bin/python2.7中的Python解釋器。
要開(kāi)始使用虛擬環(huán)境,其需要被激活:
$sourcevenv/bin/activate
從現(xiàn)在起,任何你使用pip安裝的包將會(huì)放在venv文件夾中,與全局安裝的Python隔絕開(kāi)。
像平常一樣安裝包,比如:
$pipinstallrequests
如果你在虛擬環(huán)境中暫時(shí)完成了工作,則可以停用它:
$.venv/bin/deactivate
這將會(huì)回到系統(tǒng)默認(rèn)的Python解釋器,包括已安裝的庫(kù)也會(huì)回到默認(rèn)的。
要?jiǎng)h除一個(gè)虛擬環(huán)境,只需刪除它的文件夾。(執(zhí)行rm-rfvenv)。
這里virtualenv有些不便,因?yàn)関irtual的啟動(dòng)、停止腳本都在特定文件夾,可能一段時(shí)間后,你可能會(huì)有很多個(gè)虛擬環(huán)境散落在系統(tǒng)各處,你可能忘記它們的名字或者位置。
virtualenvwrapper
鑒于virtualenv不便于對(duì)虛擬環(huán)境集中管理,所以推薦直接使用virtualenvwrapper。virtualenvwrapper提供了一系列命令使得和虛擬環(huán)境工作變得便利。它把你所有的虛擬環(huán)境都放在一個(gè)地方。
安裝virtualenvwrapper(確保virtualenv已安裝)
pipinstallvirtualenvwrapperpipinstallvirtualenvwrapper-win#Windows使用該命令
安裝完成后,在~/.bashrc寫(xiě)入以下內(nèi)容
exportWORKON_HOME=~/Envssource/usr/local/bin/virtualenvwrapper.sh
第一行:virtualenvwrapper存放虛擬環(huán)境目錄
第二行:virtrualenvwrapper會(huì)安裝到python的bin目錄下,所以該路徑是python安裝目錄下bin/virtualenvwrapper.sh
source~/.bashrc#讀入配置文件,立即生效
virtualenvwrapper基本使用
1.創(chuàng)建虛擬環(huán)境mkvirtualenv
mkvirtualenvvenv
這樣會(huì)在WORKON_HOME變量指定的目錄下新建名為venv的虛擬環(huán)境。
若想指定python版本,可通過(guò)"--python"指定python解釋器
mkvirtualenv--python=/usr/local/python3.5.3/bin/pythonvenv
2.基本命令
查看當(dāng)前的虛擬環(huán)境目錄
[root@localhost~]#workon
py2
py3
切換到虛擬環(huán)境
[root@localhost~]#workonpy3
(py3)[root@localhost~]#
退出虛擬環(huán)境
(py3)[root@localhost~]#deactivate
[root@localhost~]#
刪除虛擬環(huán)境
rmvirtualenvvenv
以上內(nèi)容為大家介紹了python虛擬環(huán)境工具virtualenv,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。