亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python學(xué)習(xí)之虛擬環(huán)境原理詳解

 更新時(shí)間:2022年03月29日 09:25:15   作者:渴望力量的哈士奇  
本文將帶大家學(xué)習(xí)一下虛擬環(huán)境的相關(guān)知識(shí),虛擬環(huán)境對(duì)于剛剛使用Python的初學(xué)者來說使用的概率可能會(huì)比較低,但是我們依然要對(duì)它有一定的了解??旄S小編一起學(xué)習(xí)一下吧

該章節(jié)我們學(xué)習(xí)虛擬環(huán)境的相關(guān)知識(shí),虛擬環(huán)境對(duì)于剛剛使用Python的初學(xué)者來說使用的概率可能會(huì)比較低。但是我們依然要對(duì)它有一定的了解。

認(rèn)識(shí)虛擬環(huán)境

在我們平時(shí)的工作環(huán)境中,可能會(huì)存在一臺(tái)電腦存在多個(gè)版本的 python 的情況 。 比如我們有一個(gè) Python2.7的版本,還有一個(gè) Python3.8的環(huán)境,它們兩個(gè)都存在與我們當(dāng)前的系統(tǒng)中。這就造成了一個(gè)問題,兩個(gè)版本都在同一個(gè)環(huán)境下,造成 pip 與第三方包沖突的問題。

為了解決這個(gè)問題,我們專門創(chuàng)建一個(gè) Python2.7的虛擬環(huán)境 與 Python3.8的虛擬環(huán)境環(huán)境。Python2.7的環(huán)境只有Python 2.7的pip和解釋器,而 Python3.8 也可以創(chuàng)建屬于自己的環(huán)境。

這兩個(gè)環(huán)境獨(dú)立存在,且互不沖突、互不影響,這就是虛擬環(huán)境的作用與目的。我們只需要在各自的虛擬環(huán)境中,安裝各自需要的軟件版本。這些軟件與指定的版本也只需要針對(duì)當(dāng)前的虛擬環(huán)境,不會(huì)影響到其他的虛擬環(huán)境。

Python中的虛擬環(huán)境工具

python中都有哪些創(chuàng)建虛擬環(huán)境的軟件:

Virtualenv:一款非常常用的虛擬環(huán)境工具。

1、依賴于當(dāng)前系統(tǒng)中擁有的 Python 版本。

2、使用簡(jiǎn)便,所以受到大部分的Python愛好者的追捧。

pyenv:與 Virtualenv 同樣是創(chuàng)建虛擬環(huán)境的工具。

1、不依賴于當(dāng)前系統(tǒng)的 Python 版本,只要是 Python 擁有的版本,pyenv 都可以在當(dāng)前電腦創(chuàng)建虛擬環(huán)境(先將需要的版本安裝在本地,再進(jìn)行虛擬化操作。)

2、缺點(diǎn):操作過于復(fù)雜,并且也是依賴于 Virtualenv 。我們可以理解為 pyenv 最終還是依賴于 Virtualenv 進(jìn)行虛擬環(huán)境的創(chuàng)建。

由于 pyenv 操作的相對(duì)復(fù)雜性,所以該章節(jié)我們主要介紹的是 Virtualenv 的使用方法,在日后對(duì) python 使用的更加?jì)故熘笤偃リP(guān)注 pyenv 會(huì)更加輕松。

Virtualenv

Virtualenv 也是 Python 的第三方包,與ipython一樣也是在命令行終端使用的。

1、通過 pip install virtualenv 進(jìn)行下載安裝。

2、當(dāng)安裝完成之后,我們希望把虛擬環(huán)境創(chuàng)建在那個(gè)目錄下,就需要提前進(jìn)入到對(duì)應(yīng)的目錄文件夾,這也是選擇創(chuàng)建 虛擬環(huán)境的目錄。

3、當(dāng)進(jìn)入到選擇的文件夾之后,執(zhí)行 virtualenv -p python3 penv (-p 是選擇 python的版本,如果想指定版本號(hào),可以使用 -p python3.6;penv 為指定的虛擬環(huán)境的名字)。

4、當(dāng)在選擇的文件夾執(zhí)行過 virtualenv -p python3 penv 命令后,會(huì)在當(dāng)前目錄創(chuàng)建一個(gè) penv 文件夾,就是運(yùn)行的虛擬環(huán)境目錄。

5、接下來調(diào)用 ./penv/bin/active 來啟動(dòng)虛擬環(huán)境;如果是windows環(huán)境可以直接 進(jìn)入到 /penv/bin 目錄下,直接執(zhí)行 active 啟動(dòng)虛擬環(huán)境。

6、如果想要退出虛擬環(huán)境,直接執(zhí)行 deactivate 即可退出當(dāng)前的虛擬環(huán)境。

需要注意的是:我們執(zhí)行的虛擬環(huán)境,只在我們當(dāng)前的 Terminal 終端有效。如果我們開啟了多個(gè) Terminal 終端,而且需要每一個(gè)都在 虛擬環(huán)境中,則需要在每一個(gè) Terminal 終端都執(zhí)行以上的操作才可以。

Treminal 終端演示

下載安裝:pip install virtualenv

安裝完成后,我們通過 virtualenv -p python3.10 python3.10_env 命令創(chuàng)建一個(gè)名為 python3.10_env 的虛擬環(huán)境,同時(shí)會(huì)在當(dāng)前路徑下發(fā)現(xiàn) 對(duì)應(yīng)的 虛擬環(huán)境 的文件夾已創(chuàng)建完成,見下圖:

接下來我們進(jìn)入到創(chuàng)建的 python3.10_env 路徑下,執(zhí)行 ./python3.10_env/bin/activate 命令 進(jìn)入到我們的虛擬環(huán)境。這里我遇到了兩個(gè)問題。

第一個(gè)問題:沒有可執(zhí)行權(quán)限,報(bào)錯(cuò) zsh: permission denied: ./python3.10_env/bin/activate ,這是因?yàn)?用戶沒有權(quán)限,所以才出現(xiàn)了這個(gè)錯(cuò)誤,所以只需要用chmod修改一下權(quán)限就可以了。

第二個(gè)問題:在執(zhí)行 ./python3.10_env/bin/activate 的時(shí)候,提示 You must source this script: $ source ./python3.10_env/bin/activate ; 意思是 我必須使用 source ./python3.10_env/bin/activate 這個(gè)命令才能執(zhí)行 python3.10_env 的虛擬環(huán)境(因?yàn)槲矣玫氖荕ac的原因,才會(huì)出現(xiàn)這個(gè)情況,不曉得 WIN電腦會(huì)不會(huì)有這個(gè)情況。)

執(zhí)行 source ./python3.10_env/bin/activate 嘗試執(zhí)行我們已經(jīng)安裝好的 ipython ,發(fā)現(xiàn)無法執(zhí)行,這是因?yàn)槲覀兪翘摂M環(huán)境。雖然物理環(huán)境安裝了 ipython ,但是因?yàn)槲覀兊奶摂M環(huán)境是與物理環(huán)境完全隔離的,所以 python3.10_env 是一個(gè)很干凈的環(huán)境,并沒有 ipython。

再查看一下當(dāng)前虛擬環(huán)境的 python 解釋器 ,如下圖:

如果需要退出虛擬環(huán)境 , 執(zhí)行 deactivate 。需要注意的是,當(dāng)退出虛擬環(huán)境之后,當(dāng)前終端所處的環(huán)境并不是我們進(jìn)入 虛擬環(huán)境前的環(huán)境,而是本地環(huán)境,所以如果想要保持之前進(jìn)入的環(huán)境狀態(tài),只需要關(guān)閉 Terminal 終端,重新進(jìn)入即可。

在平時(shí)的工作中,一臺(tái)電腦中可能要開發(fā)多個(gè)項(xiàng)目,但是多個(gè)項(xiàng)目可能使用相同的包,但是確實(shí)不同的版本。所以如果我們?cè)谝粋€(gè)公共的大環(huán)境下,就沒辦法保證一個(gè)包的多個(gè)版本安裝進(jìn)去,所以我們就可以通過虛擬環(huán)境根據(jù)每個(gè)不同的項(xiàng)目使用不同的包的不同的版本,這樣既不互相沖突,又保證了單獨(dú)項(xiàng)目的獨(dú)立性與完整性。

到此這篇關(guān)于Python學(xué)習(xí)之虛擬環(huán)境原理詳解的文章就介紹到這了,更多相關(guān)Python虛擬環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論