這里簡(jiǎn)單的介紹一下Python
版本管理工具--pyenv
和三個(gè)個(gè)虛擬環(huán)境,分別是virtualenv
,anconda
,pipenv
。
版本管理工具--pyenv
這個(gè)呢是一個(gè)python
版本管理的包,你可以通過(guò)git直接下載源碼,安裝方法里面都有https://github.com/pyenv/pyenv git地址,下載下來(lái),然后一步一步跟著做就好了。
簡(jiǎn)單來(lái)看一下幾個(gè)路徑含義
- ~/.pyenv/shims/
這里面存放的python
命令,是我們?cè)诮K端輸入python
時(shí)候執(zhí)行的,我們可以把PATH
打印一下,可以看出,這個(gè)路徑的命令是在最前面的。我們輸入python
后,pyenv
會(huì)根據(jù)我們?cè)O(shè)置的去找真正要執(zhí)行的python
命令。
- ~/.pyenv/versions/
這個(gè)目錄里面存放的就是我們安裝的python
版本。(注意:如果我們安裝時(shí)候特別慢,不要著急.我們可以把終端打印出來(lái)的地址,放在瀏覽器里,然后下載下來(lái),把下載的文件移動(dòng)到~/.pyenv/cache/
下就可以.剛開(kāi)始要自己建這個(gè)cache
目錄的)
(推薦教程:python教程)
python版本設(shè)置有兩個(gè)命令
pyenv local
名稱(chēng):在當(dāng)前目錄使用這個(gè)python
版本pyenv global
名稱(chēng):將全局的python
版本設(shè)置成這個(gè)版本
名稱(chēng)我們可以通過(guò)pyenv versions
來(lái)查看,里面會(huì)有一個(gè)system
的名稱(chēng),這個(gè)是你機(jī)器原來(lái)的python
版本,一般情況下我們都用local
來(lái)針對(duì)某一個(gè)目錄設(shè)置python
,全局還是用我們系統(tǒng)的。用local
我們可以在當(dāng)前目錄下找到一個(gè).python_version
的文件.pyenv
應(yīng)該就是讀這個(gè)文件,知道你在當(dāng)前目錄要用什么版本的python
。
用過(guò)node
的可能會(huì)發(fā)現(xiàn),其實(shí)這個(gè)跟node
的nvm
差不多一樣的性質(zhì)。
虛擬環(huán)境--virtualenv
我最開(kāi)始使用的虛擬環(huán)境是virtualenv
,這個(gè)的用法,網(wǎng)上也有一大堆。簡(jiǎn)單說(shuō)一下吧,因?yàn)槲椰F(xiàn)在很少用。
安裝:pip install virtualenv
創(chuàng)建:virtualenv env名稱(chēng)
進(jìn)入虛擬環(huán)境:source env名稱(chēng)/bin/activate
退出虛擬環(huán)境:deactivate
進(jìn)入環(huán)境,你就可以在里面用pip install
了。安裝的包就是在當(dāng)前環(huán)境中。
虛擬環(huán)境--anconda
后來(lái)我看還有個(gè)anconda
的包管理器,也能創(chuàng)建虛擬環(huán)境。這個(gè)也有很多安裝教程。
安裝:官網(wǎng)有教程,下載下來(lái)運(yùn)行就可以了
創(chuàng)建:conda create -n env名稱(chēng) python=2.7
進(jìn)入:conda activate env名稱(chēng)
退出:conda deactivate
進(jìn)入環(huán)境,你也可以在里面安裝包,安裝包用的是anconda
的命令:conda install
包。這里面可能有一些包找不到,你也可以用pip install
來(lái)安裝。
注意:用pip
來(lái)安裝就有點(diǎn)坑,如果你本地機(jī)器上已經(jīng)安裝了這個(gè)包了,那pip install
就安裝不了,如果你pip install
安裝的包跟你本機(jī)的版本不一樣,他會(huì)卸載了本機(jī)的包,然后重新在你的conda
環(huán)境中新安裝一個(gè)包。這樣你本機(jī)就沒(méi)有這個(gè)包了。對(duì)于一個(gè)新機(jī)器來(lái)說(shuō),可能比較好吧,畢竟以后運(yùn)行項(xiàng)目都在虛擬環(huán)境,但是對(duì)于一些有在本機(jī)環(huán)境運(yùn)行項(xiàng)目的人來(lái)說(shuō),就不那么友好,有可能你用著anconda
,莫名其妙的本機(jī)就缺少包。當(dāng)然你也可以再安裝。
虛擬環(huán)境--pipenv
后來(lái),最近我又發(fā)現(xiàn)了一個(gè)pipenv
,這個(gè)感覺(jué)比較好。
安裝: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/
下面,然后會(huì)在當(dāng)前目錄創(chuàng)建一個(gè)Pipfile
的文件。里面記錄著你安裝的包。安裝包用pipenv install
,安裝的包,都會(huì)在Pipfile
里面記錄著,如果你當(dāng)前目錄已經(jīng)有Pipfile
,你pipenv install
,他就會(huì)創(chuàng)建一個(gè)跟當(dāng)前目錄關(guān)聯(lián)的虛擬環(huán)境,然后安裝Pipfile
中的包。里面可以設(shè)置下載包的源。以提高下載速度。安裝完,會(huì)生成一個(gè)Pipfile.lock
的文件。里面記錄著真實(shí)的下載的包的一些信息,當(dāng)項(xiàng)目遷移的時(shí)候,把這幾個(gè)目錄一起,不管在哪里,運(yùn)行的環(huán)境都是一樣的。這也是我比較喜歡的一點(diǎn),有點(diǎn)像node
的package.json
文件的功能。
(推薦微課:python3基礎(chǔ)微課)
以上就是關(guān)于Python
版本管理工具和虛擬環(huán)境的相關(guān)介紹了,希望對(duì)大家有所幫助。