常常遇到這樣的狀況:python
pyenv
就是這樣一個Python版本管理器。$ 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
查看可安裝的版本linux
$ pyenv install --list
該命令會列出能夠用pyenv安裝的Python版本,僅列舉幾個:git
2.7.8 # Python 2最新版本
3.4.1 # Python 3最新版本
anaconda-2.0.1 # 支持Python 2.6和2.7
anaconda3-2.0.1 # 支持Python 3.3和3.4
其中形如x.x.x這樣的只有版本號的爲Python官方版本,其餘的形如xxxxx-x.x.x這種既有名稱又有版本後的屬於「衍生版」或發行版。github
在安裝Python時須要首先安裝其依賴的其餘軟件包,已知的一些須要預先安裝的庫以下。sql
在CentOS/RHEL/Fedora下:shell
sudo yum install readline readline-devel readline-static sudo yum install openssl openssl-devel openssl-static sudo yum install sqlite-devel sudo yum install bzip2-devel bzip2-libs
使用以下命令便可安裝python 3.4.1:數據庫
$ pyenv install 3.4.1 -v
該命令會從github上下載python的源代碼,並解壓到/tmp目錄下,而後在/tmp中執行編譯工做。若依賴包沒有安裝,則會出現編譯錯誤,須要在安裝依賴包後從新執行該命令。bash
對於科研環境,更推薦安裝專爲科學計算準備的Anaconda發行版,pyenv install anaconda-2.1.0安裝2.x版本,pyenv install anaconda3-2.1.0安裝3.x版本;網站
Anacoda很大,用pyenv下載會比較慢,能夠本身到Anaconda官方網站下載,並將下載獲得的文件放在~/.pyenv/cache目錄下,則pyenv不會重複下載。.net
安裝完成以後須要對數據庫進行更新:
$ pyenv rehash
查看當前已安裝的python版本
$ pyenv versions * system (set by /home/seisman/.pyenv/version) 3.4.1
其中的星號表示當前正在使用的是系統自帶的python。
$ pyenv global 3.4.1 $ pyenv versions system * 3.4.1 (set by /home/seisman/.pyenv/version)
當前全局的python版本已經變成了3.4.1。也能夠使用pyenv local或pyenv shell臨時改變python版本。
$ python Python 3.4.1 (default, Sep 10 2014, 17:10:18) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
輸入python便可使用新版本的python;
系統自帶的腳本會以/usr/bin/python的方式直接調用老版本的python,於是不會對系統腳本產生影響;
使用pip安裝第三方模塊時會安裝到~/.pyenv/versions/3.4.1下,不會和系統模塊發生衝突。
使用pip安裝模塊後,可能須要執行pyenv rehash更新數據庫;
https://github.com/yyuu/pyenv
http://blog.csdn.net/chris__kk/article/details/45127973