virtualenv?是一個(gè)創(chuàng)建隔絕的Python環(huán)境的工具醇疼。virtualenv創(chuàng)建一個(gè)包含所有必要的可執(zhí)行文件的文件夾,用來(lái)使用Python工程所需的包租副。
安裝
pip install virtualenv
基本使用
為一個(gè)工程創(chuàng)建一個(gè)虛擬環(huán)境:
$ cd my_project_dir
$ virtualenv venv #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.7 venv# -p參數(shù)指定Python解釋器程序路徑
這將會(huì)使用/usr/bin/python2.7中的Python解釋器吭敢。
要開(kāi)始使用虛擬環(huán)境,其需要被激活:
$ source venv/bin/activate
從現(xiàn)在起腊瑟,任何你使用pip安裝的包將會(huì)放在venv文件夾中,與全局安裝的Python隔絕開(kāi)。
像平常一樣安裝包唾那,比如:
$ pip install requests
如果你在虛擬環(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已安裝)
pip install virtualenvwrapper
pip install virtualenvwrapper-win #Windows使用該命令
安裝完成后是尖,在~/.bashrc寫(xiě)入以下內(nèi)容
export WORKON_HOME=~/Envs
source /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
mkvirtualenv venv
這樣會(huì)在WORKON_HOME變量指定的目錄下新建名為venv的虛擬環(huán)境饺汹。
若想指定python版本,可通過(guò)"--python"指定python解釋器
mkvirtualenv --python=/usr/local/python3.5.3/bin/python venv
2. 基本命令?
查看當(dāng)前的虛擬環(huán)境目錄
[root@localhost ~]# workon
py2
py3
切換到虛擬環(huán)境
[root@localhost ~]# workon py3
(py3) [root@localhost ~]#
退出虛擬環(huán)境
(py3) [root@localhost ~]# deactivate
[root@localhost ~]#
刪除虛擬環(huán)境
rmvirtualenv venv