為什么要使用Pyenv铆铆!
在通常的Linux發(fā)行版上基本已經(jīng)安裝了Python環(huán)境蝶缀,但是對(duì)于專業(yè)使用Python編程的用戶還是非常不方便辆苔!因?yàn)槟慊谙到y(tǒng)環(huán)境建立的虛擬環(huán)境在系統(tǒng)的Python升級(jí)之后,可能變得無(wú)法運(yùn)行扼劈。只好重新安裝并初始化虛擬環(huán)境了!如果你不幸使用Pipenv來(lái)管理項(xiàng)目菲驴,又剛好安裝了科學(xué)計(jì)算(numpy荐吵、pandas ...)之類大型庫(kù),那么這個(gè)時(shí)間足夠慢到你開(kāi)始懷疑人生了……
總之赊瞬,除非是你只是簡(jiǎn)單學(xué)習(xí)一下先煎,否則你就必須……!(會(huì)不會(huì)有點(diǎn)太絕對(duì)……)
如何安裝巧涧?
我基本上只使用Ubuntu薯蝎,因?yàn)閍pt真的太方便了。如果你使用的是其他發(fā)行版本谤绳,就請(qǐng)自行參考軟件安裝的方法占锯。( copy 命令的時(shí)候,請(qǐng)不要復(fù)制 $ 符號(hào))
- 安裝git
$ sudo apt install git-core
- 克隆pyenv源代碼
不用妄圖使用 curl 的下載安裝程序來(lái)進(jìn)行自動(dòng)安裝缩筛,在中國(guó)的網(wǎng)絡(luò)下根本不行的消略。
$ git clone --depth 1 https://github.com/pyenv/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bashrc
當(dāng)然咯,你也可以直接把文本加到~/.bashrc中:
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
這樣下次登陸瞎抛,或者直接用命令:source ~/.bashrc 艺演,pyenv命令就可以使用了!
- 常用pyenv命令
$ pyenv versions # 顯示所有已經(jīng)安裝的python版本
$ pyenv install --list # 顯示可以安裝的python版本
$ pyenv install 3.8.5 # 安裝3.8.5版本的CPython桐臊,嘿嘿胎撤!
$ pyenv global 3.8.5 # 設(shè)置全局狀態(tài)的python版本,即當(dāng)前目錄下沒(méi)有 .python-version 文件
$ pyenv local 3.8.5 # 會(huì)在目錄下生成 .python-version 文件断凶,用來(lái)指定當(dāng)前目錄下使用python的版本
- 安裝指定Python版本
如果你在上面就心急火燎的安裝python的話伤提,就會(huì)發(fā)現(xiàn)除了慢的不行,還不會(huì)成功懒浮!究其原因是因?yàn)檫@個(gè)過(guò)程是使用源代碼安裝……飘弧,所以你必須要有可以編譯python源代碼的環(huán)境才可以。
先解決獲得源代碼的問(wèn)題砚著。pyenv當(dāng)然會(huì)自己去下載源代碼次伶,但速度實(shí)在太慢了。你可以自己先從python的官方網(wǎng)站上使用迅雷等工具下載后綴名為tar.xz的源碼文件(比如Python-3.8.5.tar.xz)稽穆,然后在~/.pyenv的目錄下建立一個(gè)cache的緩存目錄并把源碼文件放入其中冠王。
第二步安裝python需要的編譯器和編譯依賴:
$ sudo apt install make build-essential llvm libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl libncurses5-dev xz-utils libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev tk-dev
在安裝完成后,你就可以愉快的執(zhí)行:
$ pyenv install 3.8.5
后記
在掌握了pyenv的使用以后舌镶,還是很愉快的柱彻。感謝pyenv作者做出的努力豪娜,不然在不同Linux系統(tǒng)部署應(yīng)該真是難受的!如果這篇文章對(duì)讀者有幫助哟楷,歡迎收藏點(diǎn)贊瘤载!