本篇文章給大家分享的是有關(guān)venv和virtualenv的區(qū)別有哪些,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
創(chuàng)新互聯(lián)是專業(yè)的陽東網(wǎng)站建設(shè)公司,陽東接單;提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行陽東網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!如項(xiàng)目名叫tutorial,創(chuàng)建對應(yīng)的文件夾然后切換到根目錄:cd tutorial。
如果使用venv,使用命令:$ python -m venv tutorial-env
其中tutorial-env是虛擬環(huán)境的名字,也作為創(chuàng)建的虛擬環(huán)境文件夾名稱,可以自由修改。如果tutorial-env目錄不存在,它將為你創(chuàng)建一個,并在其中創(chuàng)建包含Python解釋器,標(biāo)準(zhǔn)庫和各種支持文件的副本的目錄。
注意:需要tutorial-env的虛擬環(huán)境文件夾名稱加入 .gitignore文件以便讓Git忽略。
虛擬環(huán)境的常用目錄位置是 .venv。這個名稱通常會令該目錄在你的終端中保持隱藏,從而避免需要對所在目錄進(jìn)行額外解釋的一般名稱。它還能防止與某些工具所支持的 .env 環(huán)境變量定義文件發(fā)生沖突。
如果使用virtualenv,則使用下面的命令:$ virtualenv snow-venv
通過執(zhí)行對應(yīng)的激活腳本來激活虛擬環(huán)境,不同操作系統(tǒng)的激活命令(激活腳本及路徑)有一點(diǎn)不同。
Windows(CMD.exe):$ tutorial-env\Scripts\activate.bat
Linux和macOS(bash/zsh):$ source tutorial-env/bin/activate
activate.bat這個腳本是為bash shell編寫的。如果你使用csh或fish shell,你應(yīng)該改用activate.csh 或activate.fish腳本。
激活虛擬環(huán)境以后,命令行提示符前會顯示當(dāng)前虛擬環(huán)境的名字,并修改環(huán)境以使python命令所運(yùn)行的將是已安裝的特定Python版本。
退出虛擬環(huán)境:deactivate
virtualenv:Python虛擬環(huán)境管理工具。
venv:Python標(biāo)準(zhǔn)庫內(nèi)置的虛擬環(huán)境管理工具,Python 3.3加入,Python 3.5開始作為管理虛擬環(huán)境的推薦工具,用法類似virtualenv,不同的是創(chuàng)建虛擬環(huán)境的方式。
Python 2.x時,創(chuàng)建虛擬環(huán)境需要安裝第三方的virtualenv,但Python 3.3之后,標(biāo)準(zhǔn)庫里內(nèi)置了venv模塊,可以用來創(chuàng)建虛擬環(huán)境。
如果你使用Python 3.3及以上版本,推薦使用標(biāo)準(zhǔn)庫內(nèi)置的venv 模塊替代virtualenv。
如果你使用Python 2,就只能選擇virtualenv,你需要額外安裝它。pip install virtualenv
補(bǔ)充:【python虛擬環(huán)境】virtualenv和venv不一樣嗎
在開發(fā)python應(yīng)用程序的時候,系統(tǒng)安裝的python3只有一個版本:3.4。所有的第三方的包都回被pip安裝到python3的site-packages目錄下。
如果我們要要同時開發(fā)多個應(yīng)用程序,那這些應(yīng)用都共用一個python,就是安裝在系統(tǒng)的python3。如果應(yīng)用A需要jinja 2.7,而應(yīng)用B需要jinja 2.6怎么辦?
這種情況下,每個應(yīng)用需要各自擁有一套“獨(dú)立”的python運(yùn)行環(huán)境。有兩個常用工具用于創(chuàng)建python“獨(dú)立”環(huán)境:
venv is available by default in Python 3.3 and later, and installs pip and setuptools into created virtual environments in Python 3.4 and later.
virtualenv needs to be installed separately, but supports Python 2.7+ and Python 3.3+, and pip, setuptools and wheel are always installed into created virtual environments by default (regardless of Python version).
virtualenv就是用來為一個應(yīng)用創(chuàng)建一套“隔離”的python運(yùn)行環(huán)境。
首先,我們用pip安裝virtualenv
pip3 install virtualenv
然后,假定我們要開發(fā)一個新的項(xiàng)目,需要一套獨(dú)立的python運(yùn)行環(huán)境,可以這么做:
在項(xiàng)目目錄下,創(chuàng)建一個獨(dú)立的python運(yùn)行環(huán)境,命名為 venv
virtualenv --no-site-packages venv
命令 virtualenv就可以創(chuàng)建一個獨(dú)立的python運(yùn)行環(huán)境,我們還加上了參數(shù) --no-site-packages,這樣,已經(jīng)安裝到系統(tǒng)python環(huán)境中的所有第三方包都不會復(fù)制過來,這樣,我們就得到了一個不帶任何第三方包的“干凈”的pyhton運(yùn)行環(huán)境。
新建的python環(huán)境被放到項(xiàng)目錄下的venv目錄,有了 venv 這個python環(huán)境,就可以用source進(jìn)入該環(huán)境:
source ./venv/bin/activate
或者是
source ./venv/Scripts/activate
注意查看activate命令被放在了哪個目錄下。
執(zhí)行上面的命令后,可以看懂命令指示符變了,有個 (venv) 前綴,表示當(dāng)前環(huán)境是一個名為 venv 的python環(huán)境,下面可以正常安裝各種第三方包,并運(yùn)行python命令。
在 venv 環(huán)境下,用 pip 安裝的包都在安裝到了 venv 這個環(huán)境下,系統(tǒng)python環(huán)境不受任何影響,也就是說, venv環(huán)境是專門針對當(dāng)前項(xiàng)目創(chuàng)建的。
退出 venv 環(huán)境,使用 deactivate 命令:
deactivate
這樣就回到了正常的環(huán)境。
viratualenv是如何創(chuàng)建“獨(dú)立”的python運(yùn)行環(huán)境呢?其實(shí)就是把系統(tǒng)python復(fù)制一份到virtualenv的環(huán)境,用命令 source 進(jìn)入一個virutalenv環(huán)境時,virtualenv會修改相關(guān)環(huán)節(jié)變量,讓命令python和pip均指向當(dāng)前的virtualenv環(huán)境。
venv不用安裝,不過需要python3.3以上。創(chuàng)建一個獨(dú)立的python運(yùn)行環(huán)境,命名為venv
python3 -m venv ./venv
以上就是venv和virtualenv的區(qū)別有哪些,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。