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解釋器。
要開始使用虛擬環(huán)境,其需要被激活:
$ source venv/bin/activate
從現(xiàn)在起,任何你使用pip安裝的包將會(huì)放在venv文件夾中,與全局安裝的Python隔絕開。
像平常一樣安裝包,比如:
$ 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
鑒于virtualenvwraper不便于對(duì)虛擬環(huán)境集中管理,所以推薦直接使用virtualenvwrapper。?virtualenvwrapper提供了一系列命令使得和虛擬環(huán)境工作變得便利。它把你所有的虛擬環(huán)境都放在一個(gè)地方。
安裝virtualenvwrapper(確保virtualenv已安裝)
pip install virtualenvwrapper
pip install virtualenvwrapper-win #Windows使用該命令
安裝完成后,在~/.bashrc寫入以下內(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
本文參考鏈接:http://pythonguidecn.readthedocs.io/zh/latest/dev/virtualenvs.html
http://pythonguidecn.readthedocs.io/zh/latest/dev/virtualenvs.html