Python虛擬環(huán)境venv實(shí)戰(zhàn)過程詳解
簡(jiǎn)介
Python 應(yīng)用程序通常會(huì)使用不屬于標(biāo)準(zhǔn)庫(kù)的包和模塊。應(yīng)用程序有時(shí)需要特定版本的庫(kù),因?yàn)閼?yīng)用程序可能需要修復(fù)特定的錯(cuò)誤,或者應(yīng)用程序可能使用庫(kù)接口的過時(shí)版本編寫。
這意味著一個(gè) Python 安裝可能無法滿足每個(gè)應(yīng)用程序的要求。如果應(yīng)用程序 A 需要特定模塊的 1.0 版,而應(yīng)用程序 B 需要 2.0 版,則要求發(fā)生沖突,安裝 1.0 或 2.0 版將導(dǎo)致一個(gè)應(yīng)用程序無法運(yùn)行。
這個(gè)問題的解決方案是創(chuàng)建一個(gè)虛擬環(huán)境,一個(gè)自包含的目錄樹,其中包含特定版本的 Python 的 Python 安裝,以及一些額外的包。
然后不同的應(yīng)用程序可以使用不同的虛擬環(huán)境。為了解決前面的沖突需求示例,應(yīng)用程序 A 可以擁有自己的安裝了 1.0 版的虛擬環(huán)境,而應(yīng)用程序 B 可以擁有另一個(gè)安裝了 2.0 版的虛擬環(huán)境。如果應(yīng)用程序 B 需要將庫(kù)升級(jí)到版本 3.0,這不會(huì)影響應(yīng)用程序 A 的環(huán)境。
同樣,工程之間有時(shí)也需要環(huán)境隔離,不同的工程安裝不同的依賴,有利于后續(xù)一系列生產(chǎn)操作,不易產(chǎn)生bug以外的環(huán)境沖突、問題。
因此,我們需要虛擬環(huán)境用來隔離以減少解決環(huán)境問題帶來的額外開支。
虛擬環(huán)境實(shí)戰(zhàn)
創(chuàng)建虛擬環(huán)境
官方給出的建議是最好在一開始就創(chuàng)建虛擬環(huán)境。在不同環(huán)境下,我們使用不同命令,即可創(chuàng)建出一個(gè)名為venv的虛擬環(huán)境。我們列出不同的命令,因?yàn)楣P者電腦是mac,所以后續(xù)執(zhí)行結(jié)果均以mac為標(biāo)準(zhǔn),其他系統(tǒng)自行測(cè)試。
# windows python -m venv venv #linux/macos python3 -m venv venv
創(chuàng)建成功,這時(shí)已經(jīng)創(chuàng)建了一個(gè)名為venv的文件夾
我們進(jìn)入文件夾內(nèi)部查看一下結(jié)構(gòu),
激活虛擬環(huán)境
激活一下我們剛才創(chuàng)建的虛擬環(huán)境venv,在當(dāng)前環(huán)境下shell中會(huì)顯示已經(jīng)激活的虛擬環(huán)境。
# windows venv\Scripts\activate # linux/macox source venv/bin/activate
虛擬環(huán)境測(cè)試
虛擬環(huán)境中安裝依賴包我們可以使用如下命令。
#windows/linux/macos python -m pip install <package-name> # 當(dāng)你需要安裝特定版本的依賴時(shí) 需要將 <package-name> 改寫程<package-name>==指定版本號(hào),例如 python -m pip install requests==2.6.0
安裝一個(gè)requests庫(kù)2.6.0版本,大家忽略一下網(wǎng)絡(luò)問題。
可以通過python -m pip list
來查看已安裝的依賴,我們看到requests庫(kù)已經(jīng)安裝完畢。
停止虛擬環(huán)境
停止虛擬環(huán)境,很簡(jiǎn)單。只需要輸入如下命令:
#windows/linux/macos deactivate
小結(jié)
虛擬環(huán)境使用很簡(jiǎn)單,但是好處很多。具體使用細(xì)節(jié)大家可以自行挖掘,還有很多有趣且實(shí)用的命令。但是總得來說虛擬環(huán)境可以給我們帶來很多好處。
1.避免系統(tǒng)污染
2.隔離依賴環(huán)境
3.回避依賴沖突
到此這篇關(guān)于Python虛擬環(huán)境venv實(shí)戰(zhàn)的文章就介紹到這了,更多相關(guān)Python虛擬環(huán)境venv內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)的密碼強(qiáng)度檢測(cè)器示例
這篇文章主要介紹了Python實(shí)現(xiàn)的密碼強(qiáng)度檢測(cè)器,結(jié)合實(shí)例形式分析了Python密碼強(qiáng)度檢測(cè)的原理與實(shí)現(xiàn)方法,涉及Python字符串運(yùn)算與轉(zhuǎn)換、判斷等相關(guān)操作技巧,需要的朋友可以參考下2017-08-08Python Flask的request對(duì)象使用詳解
本文介紹Flask request對(duì)象,一個(gè)完整的HTTP請(qǐng)求,包括客戶端向服務(wù)端發(fā)送的Request請(qǐng)求和服務(wù)器端發(fā)送Response響應(yīng).為了能方便訪問獲取請(qǐng)求及響應(yīng)報(bào)文信息,Flask框架提供了一些內(nèi)建對(duì)象,下面就來說一下Flask針對(duì)請(qǐng)求提供內(nèi)建對(duì)象reques,需要的朋友可以參考一下2023-02-02Python實(shí)現(xiàn)五子棋人機(jī)對(duì)戰(zhàn)?和人人對(duì)戰(zhàn)
這篇文章主要介紹了Python實(shí)現(xiàn)五子棋人機(jī)對(duì)戰(zhàn)?和人人對(duì)戰(zhàn),通過定義黑白子,落子位置以及獲勝規(guī)則展開詳細(xì)內(nèi)容,需要的小伙伴可以參考一下2022-05-05python中讀取txt文件時(shí)split()函數(shù)的妙用
這篇文章主要介紹了python中讀取txt文件時(shí)split()函數(shù)的妙用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11Django如何創(chuàng)作一個(gè)簡(jiǎn)單的最小程序
這篇文章主要介紹了Django如何創(chuàng)作一個(gè)簡(jiǎn)單的最小程序,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05python如何將自己的包上傳到PyPi并可通過pip安裝的方法步驟
本文主要介紹了python如何將自己的包上傳到PyPi并可通過pip安裝的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05python實(shí)現(xiàn)requests發(fā)送/上傳多個(gè)文件的示例
今天小編就為大家分享一篇python實(shí)現(xiàn)requests發(fā)送/上傳多個(gè)文件的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06