Python底層虛擬環(huán)境virtualenv是什么?這個(gè)問(wèn)題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見(jiàn)到的。希望通過(guò)這個(gè)問(wèn)題能讓你收獲頗深。下面是小編給大家?guī)?lái)的參考內(nèi)容,讓我們一起來(lái)看看吧!
創(chuàng)新互聯(lián)公司長(zhǎng)期為1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為夷陵企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),夷陵網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
virtualenv 是一個(gè)創(chuàng)建獨(dú)立的 Python 環(huán)境。 virtualenv 會(huì)創(chuàng)建一個(gè)文件夾,其中包含使用 Python 項(xiàng)目所有所需的可執(zhí)行文件。
它可以單獨(dú)使用,用于代替 Pipenv 。
通過(guò) pip 安裝 virtualenv :
$ pip install virtualenv
測(cè)試下是否安裝完成
$ virtualenv --version
為項(xiàng)目創(chuàng)建一個(gè)虛擬環(huán)境:
$ cd my_project_folder $ virtualenv my_project
virtualenv my_project 將會(huì)在當(dāng)前目錄創(chuàng)建一個(gè)文件夾來(lái)存放 Python 的可執(zhí)行文件以及拷貝一份 pip 庫(kù),這樣就能安裝其他包了。虛擬環(huán)境名字( 這里是 myproject )可以隨意,若省略名字將會(huì)把文件均放在當(dāng)前目錄。
這將在你運(yùn)行此命令的文件目錄下創(chuàng)建一個(gè) Python 的副本,并將其放入名為 my_project 的文件夾中
你也可以選擇 Python 解釋器(如 python2.7 ) 。
$ virtualenv -p /usr/bin/python2.7 my_project
或者改變 ~/.bashrc 中的解釋器的全局環(huán)境變量:
$ export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7
開(kāi)始使用虛擬環(huán)境前,需要先激活:
$ source my_project/bin/activate
當(dāng)前虛擬環(huán)境的名稱將出現(xiàn)在提示符的左側(cè) (e.g. (my_project)Your-Computer:your_project UserName$) ,這樣你就能了解當(dāng)前激活的虛擬環(huán)境是什么。 自此,你使用 pip 安裝的任何包都會(huì)放在 my_project 文件夾,與全局 Python 安裝的包相互獨(dú)立。
安裝包的話就與往常一樣,如:
$ pip install requests
如果你在虛擬環(huán)境中暫時(shí)完成了工作,可以這樣停用它:
$ deactivate
這樣你就回到了系統(tǒng)默認(rèn)的 Python 解釋器,包括安裝的庫(kù)頁(yè)會(huì)回到默認(rèn)的。
要?jiǎng)h除一個(gè)虛擬環(huán)境,只需要?jiǎng)h除對(duì)應(yīng)文件夾。( 以當(dāng)前示例來(lái)說(shuō),執(zhí)行 rm -rf my_project) 。
然而 virtualenv 也有些不便之處,因?yàn)橐欢螘r(shí)間后你的系統(tǒng)中可能會(huì)有很多虛擬環(huán)境散落在各處,這樣會(huì)讓你忘記它們的名字或位置
運(yùn)行 virtualenv 帶上選項(xiàng) --no-site-packages 將不會(huì)包含已經(jīng)全局安裝的包。這樣有助于保持包列表的整潔以防萬(wàn)一之后需要訪問(wèn)它。
[ 這在 virtualenv 1.7 是默認(rèn)的哦。 ]
為了保持環(huán)境的一致性,“凍結(jié)” 當(dāng)前環(huán)境包的狀態(tài)是正確的選擇。凍結(jié)環(huán)境可以運(yùn)行下面的命令:
$ pip freeze > requirements.txt
該命令將創(chuàng)建一個(gè) requirements.txt 文件,里面包含有當(dāng)前環(huán)境所有包的簡(jiǎn)單列表及對(duì)應(yīng)的版本。你可以使用 "pip list" 查看沒(méi)有安裝格式的已安裝包列表。之后,對(duì)于開(kāi)發(fā)人員(或你需要重新安裝環(huán)境)來(lái)說(shuō)就可以很容易的安裝相同的版本一致的包,這樣就能完全搭建出與之前一致的環(huán)境了:
$ pip install -r requirements.txt
這樣有助于在跨設(shè)備,跨部署,跨人員的情況下保證環(huán)境的一致性。
最后,記得將虛擬環(huán)境文件夾從源代碼控制中排除,也就是將其添加到 ignore 列表中 ( 詳見(jiàn) Version Control Ignores).
virtualenvwrapper
virtualenvwrapper 提供一系列命令讓你更加愉快地操作虛擬環(huán)境。它還將所有虛擬環(huán)境放在一塊。
安裝方法如下 ( 請(qǐng)確保 virtualenv 已安裝 ) :
$ pip install virtualenvwrapper $ export WORKON_HOME=~/Envs $ source /usr/local/bin/virtualenvwrapper.sh
對(duì)于 Windows 用戶,你可以使用 virtualenvwrapper-win.
安裝方式如下 ( 請(qǐng)確保 virtualenv 已安裝 ) :
$ pip install virtualenvwrapper-win
在 Windows 中,設(shè)置環(huán)境變量 WORKON_HOME ,內(nèi)容為 % USERPROFILE%\Envs
基本用法
創(chuàng)建虛擬環(huán)境
$ mkvirtualenv my_project
該指令將在 ~/Envs 創(chuàng)建 my_project 文件夾。
在虛擬環(huán)境下工作:
$ workon my_project
或者,你可以通過(guò)創(chuàng)建項(xiàng)目來(lái)創(chuàng)建虛擬環(huán)境,該項(xiàng)目目錄要在 $WORKON_HOME 下,當(dāng)你在 workon my_project 時(shí)可以 cd 進(jìn)入。
$ mkproject my_project
virtualenvwrapper 為環(huán)境名稱提供 tab 鍵補(bǔ)全功能。當(dāng)你有很多環(huán)境又很難記住它們的名字時(shí),該功能很有幫助。
workon 也會(huì)使你當(dāng)前所在的環(huán)境失效,這樣你就可以在不同地環(huán)境間快速切換。
停止虛擬環(huán)境:
$ deactivate
刪除虛擬環(huán)境:
$ rmvirtualenv my_project
其他有用的命令
lsvirtualenv
列出所有虛擬環(huán)境
cdvirtualenv
進(jìn)入當(dāng)前的虛擬環(huán)境目錄,這樣你就可以瀏覽它的 site-packages ,如:
cdsitepackages
上述命令將進(jìn)入虛擬環(huán)境的 site-packages 目錄.
lssitepackages
列出 site-packages 目錄下所有軟件包.
感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)Python底層虛擬環(huán)境virtualenv是什么大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。