说明
1、linux系统一般默认的python环境为2.6.x
2、因系统底层依赖python,盲目升级可能会有影响系统运行,所以此时需要在系统中安装多个python,即实现python的多版本共存。Pyenv就是这样一个python版本管理器。
3、注意此方式升级只是针对当前用户升级,并非所有用户,例如此次我们就是安装在deploy用户中。
安装pyenv
什么是pyenv?pyenv就是一个可以在系统中安装多个python,但又不影响系统自带的python环境的Python版本管理器。
$git clone ~/.pyenv
定义pyenv环境变量
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
$ exec $SHELL –l
通过pyenv安装python
查看可安装的版本
$pyenv install --list
Available versions:
2.7.10 # Python 2最新版本
3.4.3 # Python 3最新版本
anaconda-2.2.0 # 支持Python2.6和2.7
anaconda3-2.2.0 # 支持Python3.3和3.4
其中形如x.x.x这样的只有版本号的为Python官方版本,其他的形如xxxxx-x.x.x这种既有名称又有版本后的属于“衍生版”或发行版。Anaconda是一个和Canopy类似的科学计算环境,但用起来更加方便。自带的包管理器conda也很强大。
安装Python的依赖包
$ 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
安装指定版本
$ pyenv install 2.7.8
该命令会从github上下载python的源代码,并解压到/tmp目录下,然后在/tmp中执行编译工作。若依赖包没有安装,则会出现编译错误,需要在安装依赖包后重新执行该命令。
更新数据库
安装完成之后需要对数据库进行更新:
$ pyenv rehash
查看当前已安装的python版本
$ pyenv versions
* system (set by /home/seisman/.pyenv/version)
2.7.8
其中的星号表示当前正在使用的是系统自带的python。
设置全局的python版本
$ pyenv global 2.7.8
$ pyenv versions
system
* 2.7.8 (set by /home/seisman/.pyenv/version)
$ python -v