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