溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python版本管理工具與虛擬環(huán)境是什么

發(fā)布時(shí)間:2022-02-08 15:52:38 來源:億速云 閱讀:153 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“Python版本管理工具與虛擬環(huán)境是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Python版本管理工具與虛擬環(huán)境是什么”吧!

版本管理工具--pyenv

簡單來看一下幾個(gè)路徑含義

~/.pyenv/shims/

這里面存放的python命令,是我們在終端輸入python時(shí)候執(zhí)行的,我們可以把PATH打印一下,可以看出,這個(gè)路徑的命令是在最前面的。我們輸入python后,pyenv會根據(jù)我們設(shè)置的去找真正要執(zhí)行的python命令。

~/.pyenv/versions/

這個(gè)目錄里面存放的就是我們安裝的python版本。(注意:如果我們安裝時(shí)候特別慢,不要著急.我們可以把終端打印出來的地址,放在瀏覽器里,然后下載下來,把下載的文件移動(dòng)到~/.pyenv/cache/下就可以.剛開始要自己建這個(gè)cache目錄的)

python版本設(shè)置有兩個(gè)命令

  1. pyenv local 名稱:在當(dāng)前目錄使用這個(gè)python版本

  2. pyenv global 名稱:將全局的python版本設(shè)置成這個(gè)版本

名稱我們可以通過pyenv versions來查看,里面會有一個(gè)system的名稱,這個(gè)是你機(jī)器原來的python版本,一般情況下我們都用local來針對某一個(gè)目錄設(shè)置python,全局還是用我們系統(tǒng)的。用local我們可以在當(dāng)前目錄下找到一個(gè).python_version的文件.pyenv應(yīng)該就是讀這個(gè)文件,知道你在當(dāng)前目錄要用什么版本的python。

用過node的可能會發(fā)現(xiàn),其實(shí)這個(gè)跟nodenvm差不多一樣的性質(zhì)。

虛擬環(huán)境--virtualenv

我最開始使用的虛擬環(huán)境是virtualenv,這個(gè)的用法,網(wǎng)上也有一大堆。簡單說一下吧,因?yàn)槲椰F(xiàn)在很少用。

安裝:pip install virtualenv
創(chuàng)建:virtualenv env名稱
進(jìn)入虛擬環(huán)境:source env名稱/bin/activate
退出虛擬環(huán)境:deactivate

進(jìn)入環(huán)境,你就可以在里面用pip install了。安裝的包就是在當(dāng)前環(huán)境中。

虛擬環(huán)境--anconda

后來我看還有個(gè)anconda的包管理器,也能創(chuàng)建虛擬環(huán)境。這個(gè)也有很多安裝教程。

安裝:官網(wǎng)有教程,下載下來運(yùn)行就可以了
創(chuàng)建:conda create -n env名稱 python=2.7
進(jìn)入:conda activate env名稱
退出:conda deactivate

進(jìn)入環(huán)境,你也可以在里面安裝包,安裝包用的是anconda的命令:conda install 包。這里面可能有一些包找不到,你也可以用pip install來安裝。

注意:用pip來安裝就有點(diǎn)坑,如果你本地機(jī)器上已經(jīng)安裝了這個(gè)包了,那pip install就安裝不了,如果你pip install安裝的包跟你本機(jī)的版本不一樣,他會卸載了本機(jī)的包,然后重新在你的conda環(huán)境中新安裝一個(gè)包。這樣你本機(jī)就沒有這個(gè)包了。對于一個(gè)新機(jī)器來說,可能比較好吧,畢竟以后運(yùn)行項(xiàng)目都在虛擬環(huán)境,但是對于一些有在本機(jī)環(huán)境運(yùn)行項(xiàng)目的人來說,就不那么友好,有可能你用著anconda,莫名其妙的本機(jī)就缺少包。當(dāng)然你也可以再安裝。

虛擬環(huán)境--pipenv

后來,最近我又發(fā)現(xiàn)了一個(gè)pipenv,這個(gè)感覺比較好。

安裝:pip install pipenv
創(chuàng)建:pipenv install --python=2.7
進(jìn)入:進(jìn)入目錄,pipenv shell
退出:deactivate

創(chuàng)建一個(gè)虛擬環(huán)境,存放在默認(rèn)目錄下,我的默認(rèn)目錄是~.local/share/下面,然后會在當(dāng)前目錄創(chuàng)建一個(gè)Pipfile的文件。里面記錄著你安裝的包。安裝包用pipenv install ,安裝的包,都會在Pipfile里面記錄著,如果你當(dāng)前目錄已經(jīng)有Pipfile,你pipenv install,他就會創(chuàng)建一個(gè)跟當(dāng)前目錄關(guān)聯(lián)的虛擬環(huán)境,然后安裝Pipfile中的包。里面可以設(shè)置下載包的源。以提高下載速度。安裝完,會生成一個(gè)Pipfile.lock的文件。里面記錄著真實(shí)的下載的包的一些信息,當(dāng)項(xiàng)目遷移的時(shí)候,把這幾個(gè)目錄一起,不管在哪里,運(yùn)行的環(huán)境都是一樣的。這也是我比較喜歡的一點(diǎn),有點(diǎn)像nodepackage.json文件的功能。

感謝各位的閱讀,以上就是“Python版本管理工具與虛擬環(huán)境是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Python版本管理工具與虛擬環(huán)境是什么這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI