什么是虛擬環(huán)境
python特有的一種軟件環(huán)境,創(chuàng)建多個(gè)python環(huán)境雳殊,各個(gè)環(huán)境之間完全隔離搔谴,互不影響喉祭。它可以用來(lái)解決Python項(xiàng)目開(kāi)發(fā)和運(yùn)行過(guò)程中的依賴(lài)項(xiàng)和版本問(wèn)題盖喷,而不必和其他項(xiàng)目的Python環(huán)境以及全局的Python環(huán)境發(fā)生沖突爆办。
安裝
$ pip install virtualenv
注:Linux下默認(rèn)未安裝pip,需要手動(dòng)安裝pip命令课梳。
sudo apt install python-pip #python2.7安裝
sudo apt install python3-pip # python3安裝
pip install --upgrade pip #pip 更新
創(chuàng)建虛擬環(huán)境
安裝完成后距辆,可以使用 virtualenv 命令創(chuàng)建放置虛擬環(huán)境的目錄:
$ virtualenv [OPTIONS] [虛擬環(huán)境名稱(chēng)]
-p PYTHON_EXE, --python=PYTHON_EXE 指定生成的虛擬環(huán)境使用的Python解釋器:
#順序都可以
virtualenv -p /usr/bin/python3.6 ENV
virtualenv -p /usr/bin/python3.6 ENV
virtualenv ENV --python=python3.6
virtualenv --python=python3.6 ENV
ENV/lib
和 ENV/include
目錄中包含了虛擬環(huán)境ENV使用的庫(kù)文件。在虛擬環(huán)境中安裝的第三方包會(huì)安裝在ENV/lib/python3.4/site-packages
目錄下暮刃。
ENV/bin
目錄里面放置了可執(zhí)行文件跨算,在里面有新安裝的Python 包中的可執(zhí)行程序,包括pip等相關(guān)工具椭懊。
OPTIONS參數(shù):
--no-site-packages 參數(shù):
默認(rèn)情況下诸蚕,虛擬環(huán)境會(huì)依賴(lài)系統(tǒng)環(huán)境中的 sit package,就是說(shuō)系統(tǒng)中已經(jīng)安裝好的第三方 package 也會(huì)安裝在虛擬環(huán)境中氧猬,如果不想依賴(lài)這些 package背犯,那么可以加上 --no-site-packages 參數(shù)建立虛擬環(huán)境。
$ virtualenv --no-site-packages [虛擬環(huán)境名稱(chēng)]
--version 顯示軟件的版本號(hào):
# virtualenv --version
-h, --help 顯示幫助信息:
# virtualenv -h
--no-setuptools 在新建的虛擬環(huán)境中不安裝工具包:
# virtualenv --no-setuptools ENV
--no-pip 在新建的虛擬環(huán)境中不安裝pip:
# virtualenv --no-pip ENV
--no-wheel 在新建的虛擬環(huán)境中不安裝 wheel:
# virtualenv --no-wheel ENV
啟動(dòng)環(huán)境
新創(chuàng)建的虛擬環(huán)境目錄中有一個(gè)啟動(dòng)腳本 ENV/bin/activate 盅抚,直接使用 source 命令來(lái)啟動(dòng)虛擬環(huán)境漠魏。
$ source ENV/bin/activate
退出環(huán)境
退出當(dāng)前虛擬環(huán)境使用 deactivate 命令。
$ deactivate
安裝 virtualenvwrapper 擴(kuò)展包
Virtaulenvwrapper 是 virtualenv 的擴(kuò)展包泉哈,可以把新創(chuàng)建的環(huán)境記錄下來(lái)蛉幸,不需要每次啟動(dòng)虛擬環(huán)境時(shí)都執(zhí)行一遍 source 命令,可以更方便的管理虛擬環(huán)境丛晦。
它可以實(shí)現(xiàn):
1奕纫、將所有虛擬環(huán)境整合在一個(gè)目錄下
2、管理(新增烫沙,刪除匹层,復(fù)制)虛擬環(huán)境
3、快速切換虛擬環(huán)境
安裝 virtualenvwrapper
$ pip install virtualenvwrapper
此時(shí)還不能使用virtualenvwrapper锌蓄,默認(rèn)virtualenvwrapper安裝在/usr/local/bin下面升筏,實(shí)際上你需要運(yùn)行virtualenvwrapper.sh文件才行,里面有安裝步驟瘸爽,我們照著操作把環(huán)境設(shè)置好您访。
創(chuàng)建存放虛擬環(huán)境的目錄
# $HOME是用戶(hù)主目錄
$ mkdir $HOME/.virtualenvs
進(jìn)入 用戶(hù)主目錄,打開(kāi) .bashrc 文件剪决,添加如下代碼:
export WORKON_HOME=$HOME/.virtualenvs
#export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh
WORKON_HOME: 告訴 virtualenvwrapper 在哪里放置你的虛擬環(huán)境灵汪,默認(rèn)是在 $HOME/.virtualenvs 目錄下檀训。如果這個(gè)目錄不存在,virtualenvwrapper 運(yùn)行的時(shí)候會(huì)自動(dòng)創(chuàng)建它享言。
PROJECT_HOME :告訴virtualenvwrapper在哪里存放你的項(xiàng)目的工作目錄
執(zhí)行 source 命令峻凫,使剛添加的代碼生效:
$ source .bashrc
windows下安裝virtualenvwrapper
pip install virtualenvwrapper-win
設(shè)置環(huán)境變量
在系統(tǒng)變量中新建“變量名”:WORKON_HOME:“你自定義的路徑”。
使用 virtualenvwrapper
虛擬環(huán)境相關(guān)操作:
lsvirtualenv: 列出虛擬環(huán)境列表(個(gè)人喜歡用第二個(gè))
workon+Enter: 列出虛擬環(huán)境列表
mkvirtualenv [虛擬環(huán)境名稱(chēng)]: 新建虛擬環(huán)境
workon [虛擬環(huán)境名稱(chēng)]: 切換虛擬環(huán)境
rmvirtualenv [虛擬環(huán)境名稱(chēng)]: 刪除虛擬環(huán)境
deactivate: 離開(kāi)虛擬環(huán)境