使用Pyenv拯救Ubuntu混亂的Python版本

修昊發表於2016-08-04

Ubuntu本身是帶有兩個Python版本的,因此容易出現不少令人頭疼的問題。

pip問題

例如,使用pip進行軟體包安裝的時候,如果存在快取,可能導致pip2pip3的快取混用,導致出現無法安裝的問題。

此外,如果使用virtualenv來建立獨立的Python環境,對於新手而言也是極其不友好,需要較為長的命令指定一個Python版本,非常不便。

軟連結修改

如果喜歡python3,從而刪除python這個指向python2連結,將其轉接到python3,則有可能出現桌面環境依賴的問題。這個問題我認為本身不應該存在,這是Ubuntu開發人員圖方便,沒有使用#!/usr/bin/env python2這種寫法的後果。

alias處理

如果使用Aliasbash命令,可以保證python在使用者使用時指向python3,但是對於pip的問題並沒有解決。因此,我們需要一個更好地解決方案。

更好地解決方案:Pyenv

讓我們試試使用Pyenv來解決這個問題。

原始碼: https://github.com/yyuu/pyenv

安裝可以直接按照README進行。注意自己使用的SHELL,以及相關的配置。

如此一來,就可以使用pyenv進行python的版本控制了。如果之前安裝了python-pip python3-pip這兩個包,記得在安裝pyenv提供的python之後刪除/usr/local/bin目錄下的pippip3,這樣一來,使用sudo命令的pip,就是Ubuntu系統本身提供的pip,為了一些需要系統許可權的包提供。

相關文章