使用pyevn管理多個Python版本

日常開發(fā)遇到的實際問題

因為Python版本一直更新患亿,每個項目使用的Python版本不一樣坤检,有的項目使用Python3.6匀奏,有的使用Python3.7蛔翅,有的使用Python2瓶殃。
如果在官網(wǎng)下載指定的安裝包進行安裝充包,你會發(fā)現(xiàn)新安裝的版本總會覆蓋掉之前的版本,但是舊版本又有其他的項目在使用遥椿,并不想被刪除基矮。
這時就希望有一個工具可以方便地管理多個Python版本,最好還能多個版本之間相互切換冠场。
pyenv正好滿足這個需求家浇。

簡介

Simple Python version management:pyenv (點擊進入GitHub主頁)

pyenv lets you easily switch between multiple versions of Python. It's simple, unobtrusive, and follows the UNIX tradition of single-purpose tools that do one thing well.

安裝

  • 安裝方式1. 僅限Mac
    $ brew install pyenv
  • 安裝方式2. 自動安裝腳本
    pyenv-installer

使用

  1. 查看所有可用的版本
    $ pyenv install -l
  2. 安裝指定版本
  • $ pyenv install 3.6.5
    默認會從python.org下載指定版本,速度卻非常慢(除非你在墻外)慈鸠。
  • 安裝指定的python離線安裝包
    這里蓝谨,我們需要知道一點:pyenv不僅可以在線下載安裝python版本,還可以從它的緩存目錄~.pyenv/cache安裝離線安裝包青团。其實執(zhí)行$ pyenv install 3.6.5譬巫,也是先檢查緩存目錄~.pyenv/cache下是否存在指定安裝包,如果沒有就會從網(wǎng)絡(luò)下載督笆。
    所以芦昔,我們可以在本地終端下載好指定版本安裝包,比如:
    $ wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz
    然后將其移動到.pyenv/cache 文件夾下娃肿,最后再次執(zhí)行$ pyenv install 3.6.5咕缎,便可順利安裝。
  1. 創(chuàng)建虛擬環(huán)境
    例如:創(chuàng)建一個3.6.5版本的虛擬環(huán)境:$ pyenv virtualenv 3.6.5 env_***
  2. 查看所有的Python環(huán)境
    $ pyenv versions
  3. 激活指定的虛擬環(huán)境
    $ pyenv activate env_***
  4. 退出當(dāng)前虛擬環(huán)境
    $ pyenv deactivate
    當(dāng)然你也可以直接關(guān)掉終端料扰。
  5. 刪除虛擬環(huán)境
    $ pyenv uninstall env_***

MacOS安裝過程錯誤排查

MacOS在安裝過程中可能會出現(xiàn)下面的問題:

...
zipimport.ZipImportError: can't decompress data; zlib not available
make: *** [install] Error 1

這個問題在github上已被指出:Issue #454
解決方法就是需要從命令行更新Xcode凭豪,終端運行指令xcode-select --install

WTF!可能又會提示:...the tools are already installed.
一頓搜索晒杈,找到解決方法:# How to update Xcode from command line
方法就是終端運行指令softwareupdate --install -a
運行完成后嫂伞,軟件更新會彈出可用更新的提示,點擊現(xiàn)在更新
更新完成后帖努,再次嘗試安裝撰豺,還是失敗,提示同樣的錯誤F从唷N坭搿!

又是一頓搜索匙监。凡橱。。
最后還是萬能的Stack Overflow舅柜,找到了解決方法:# pyenv zlib error on MacOS:
只需要終端運行指令:
sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
然后再次執(zhí)行安裝pyenv install 3.6.5就可以安裝成功啦梭纹。

zhanglilongs-MacBook-Pro:~ zhanglilong$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
Password:
installer: Package name is macOS_SDK_headers_for_macOS_10.14
installer: Installing at base path /
installer: The install was successful.
zhanglilongs-MacBook-Pro:~ zhanglilong$ pyenv install 3.6.5
python-build: use openssl from homebrew
python-build: use readline from homebrew
Installing Python-3.6.5...
python-build: use readline from homebrew
Installed Python-3.6.5 to /Users/zhanglilong/.pyenv/versions/3.6.5

zhanglilongs-MacBook-Pro:~ zhanglilong$ pyenv versions
* system (set by /Users/zhanglilong/.pyenv/version)
  3.6.5

參考文章:使用 pyenv 管理 Python 版本

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末躲惰,一起剝皮案震驚了整個濱河市致份,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌础拨,老刑警劉巖氮块,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異诡宗,居然都是意外死亡滔蝉,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門塔沃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蝠引,“玉大人,你說我怎么就攤上這事蛀柴◇Ω牛” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵鸽疾,是天一觀的道長吊洼。 經(jīng)常有香客問我,道長制肮,這世上最難降的妖魔是什么冒窍? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮豺鼻,結(jié)果婚禮上综液,老公的妹妹穿的比我還像新娘。我一直安慰自己儒飒,他們只是感情好谬莹,可當(dāng)我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般届良。 火紅的嫁衣襯著肌膚如雪笆凌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天士葫,我揣著相機與錄音乞而,去河邊找鬼。 笑死慢显,一個胖子當(dāng)著我的面吹牛爪模,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播荚藻,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼屋灌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了应狱?” 一聲冷哼從身側(cè)響起共郭,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎疾呻,沒想到半個月后除嘹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡岸蜗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年尉咕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片璃岳。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡年缎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出铃慷,到底是詐尸還是另有隱情单芜,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布枚冗,位于F島的核電站缓溅,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏赁温。R本人自食惡果不足惜坛怪,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望股囊。 院中可真熱鬧袜匿,春花似錦、人聲如沸稚疹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至怪嫌,卻和暖如春义锥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背岩灭。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工拌倍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人噪径。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓柱恤,卻偏偏與公主長得像,于是被迫代替她去往敵國和親找爱。 傳聞我的和親對象是個殘疾皇子梗顺,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容