常常遇到这样的状况: html
此时须要在系统中安装多个Python,但又不能影响系统自带的Python,即须要实现Python的多版本共存。pyenv就是这样一个Python版本管理器。 python
1 2 3 4 5 |
$ 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 |
1 |
$ pyenv install --list |
该命令会列出能够用pyenv安装的Python版本,仅列举几个: linux
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 这种既有名称又有版本后的属于“衍生版”或发行版。 git
在安装Python时须要首先安装其依赖的其余软件包,已知的一些须要预先安装的库以下。 github
在CentOS/RHEL/Fedora下: sql
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: shell
1 |
$ pyenv install 3.4.1 -v |
该命令会从github上下载python的源代码,并解压到/tmp目录下,而后在/tmp中执行编译工做。若依赖包没有安装,则会出现编译错误,须要在安装依赖包后从新执行该命令。 数据库
对于科研环境,更推荐安装专为科学计算准备的Anaconda发行版, pyenv install anaconda-2.1.0 安装2.x版本, pyenv install anaconda3-2.1.0 安装3.x版本; bash
Anacoda很大,用pyenv下载会比较慢,能够本身到Anaconda官方网站下载,并将下载获得的文件放在 ~/.pyenv/cache 目录下,则pyenv不会重复下载。 网站
1 2 3 |
$ pyenv versions * system (set by /home/seisman/.pyenv/version) 3.4.1 |
其中的星号表示当前正在使用的是系统自带的python。
1 2 3 4 |
$ 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版本。
1 2 3 4 5 |
$ 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. >>> |