说明
1、linux系统一般默认的python环境为2.6.x
2、因系统底层依赖python,盲目升级可能会有影响系统运行,所以此时需要在系统中安装多个python,即实现python的多版本共存。Pyenv就是这样一个python版本管理器。
3、注意此方式升级只是针对当前用户升级,并非所有用户,例如此次我们就是安装在deploy用户中。
安装pyenv
什么是pyenv?pyenv就是一个可以在系统中安装多个python,但又不影响系统自带的python环境的Python版本管理器。
1
|
$git clone ~/.pyenv
|
定义pyenv环境变量
1
2
3
4
|
$
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
查看可安装的版本
1
2
3
4
5
6
|
$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的依赖包
1
2
3
4
|
$
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
|
安装指定版本
1
|
$ pyenv
install
2.7.8
|
该命令会从github上下载python的源代码,并解压到/tmp目录下,然后在/tmp中执行编译工作。若依赖包没有安装,则会出现编译错误,需要在安装依赖包后重新执行该命令。
更新数据库
安装完成之后需要对数据库进行更新:
1
|
$ pyenv rehash
|
查看当前已安装的python版本
1
2
3
|
$ pyenv versions
* system (
set
by
/home/seisman/
.pyenv
/version
)
2.7.8
|
其中的星号表示当前正在使用的是系统自带的python。
设置全局的python版本
1
2
3
4
5
|
$ pyenv global 2.7.8
$ pyenv versions
system
* 2.7.8 (
set
by
/home/seisman/
.pyenv
/version
)
$ python -
v
|
本文转自 z永 51CTO博客,原文链接:http://blog.51cto.com/pangge/1657572