今天一不小心又把ubuntu系統給完壞了,因為我把python3卸載了,然后就。。。好了,不廢話了,接下來就說一下如何在ubuntu下管理python的多個版本。我這里使用的是一個叫pyenv的Python版本管理工具。
系統環境:ubuntu14.04LTS,系統默認的python版本為2.7,我這里想要再安裝一個3.4.3版本。
- 再安裝python之前,我們首先要安裝這個管理工具pyenv:
$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv $ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc $ echo 'eval "$(pyenv init -)"' >> ~/.bashrc $ exec $SHELL -l
我們還可以通過下面這個命令來查看可以安裝的python版本:
$ pyenv install --list
- 如果我們確定要安裝python3.4.3的話,接下來我們就可以安裝python了,但是再安裝之前,我們必須要安裝python所需要的依賴包,這個必須要安裝,安裝會失敗的:
$ sudo apt-get install libc6-dev gcc $ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm
- 上面的依賴包搞定之后,我們就可以安裝python了:
$ pyenv install 3.4.3 -v
該命令會從github上下載python的源代碼,並解壓到/tmp目錄下,然后在/tmp中執行編譯工作。若依賴包沒有安裝,則會出現編譯錯誤,需要在安裝依賴包滯后重新執行該命令。
- 安裝完成之后,需要使用如下命令對數據庫進行更新:
$ pyenv rehash
- 查看當前已經安裝的python版本
$ pyenv versions * system (set by /home/seisman/.pyenv/version) 3.4.3
其中星號代表是當前系統正在使用的python版本是系統自帶的。
- 設置全局的python版本
$ pyenv global 3.4.3 $ pyenv versions system * 3.4.3 (set by /home/seisman/.pyenv/version)
從上面,我們可以看出來當前的python版本已經變為了3.4.3。也可以使用pyenv local或pyenv shell臨時改變python的版本。
- 確認python版本
$ python Python 3.4.3 (default, Apr 1 2015, 19:10:43) [GCC 4.8.2] on linux Type "help", "copyright", "credits" or "license" for more information.
注意事項:
- 輸入python即可使用新版的python;
- 系統自帶的腳本會以/usr/bin/python的方式直接調用老版本的python,因而不會對系統腳本產生影響;
- 使用pip安裝第三方模塊時會安裝到~/.pyenv/versions/3.4.3下,不會和系統模塊發生沖突;
- 使用pip安裝模塊后,可能需要執行pyenv rehash更新數據庫。
參考資料: