【背景】

centos 6.x系列默认的python环境是2.6.6 但是主流的python使用版本是python 2.7.x,并且有些开发django的环境,django版本1.8.x以上都需要python 3.x的版本,这个时候就很有必要多个python环境共存了,有一种管理python多版本的软件 是pyenv 很好使用,使用简单!


【系统环境】:

参考:

https://github.com/yyuu/pyenv#installation


我的环境是:

[root@master zhiliang.cui]# python -V

Python 2.6.6

[root@master zhiliang.cui]# cat /etc/issue | head -1

CentOS release 6.4 (Final)

[root@master zhiliang.cui]# python -V

Python 2.6.6

[root@master zhiliang.cui]# 



【安装步骤】


回到root家目录

cd

[root@master ~]# pwd

/root


下载pyenv

git clone https://github.com/yyuu/pyenv.git ~/.pyenv


结果: 多了一个.pyenv仓库目录

[root@master ~]# ls  /root/.pyenv/    
CHANGELOG.md  COMMANDS.md  CONDUCT.md  LICENSE  Makefile  README.md  bin  completions  libexec  plugins  pyenv.d  shims  src  test  version  versions


添加系统环境路径(目的是可以直接找到pyenv 命令)

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile


从新读取文件 目的是获取新的环境变量

source  /root/.bash_profile


pyenv init to your shell to enable shims and autocompletion

echo 'eval "$(pyenv init -)"' >> ~/.bash_profile


这个一定要执行,影响which python

结果:能找到pyenv环境变量了

which pyenv

/root/.pyenv/bin/pyenv



【安装你需要的python版本】

查看可以下载的所有python版本

pyenv install --list


安装版本(我这里安装python 3.4.3版本)

pyenv install 3.4.3


查看现有的版本

pyenv versions


切换指定版本

pyenv global 3.4.3

其实是改变了 /root/.pyenv/version 这个文件中的内容

(系统退出从新进入后,可以查看) 


检查 系统已经默认使用的是3.4.3了

pyenv 环境构造多python环境_环境








【可能对系统产生的影响】

1 yum 是依赖python的

[root@master ~]# cat /usr/bin/yum

#!/usr/bin/python


你如果yum有问题,有必要可以将#!/usr/bin/python 改成 #!/usr/bin/env python


两个的区别如下:(区别还是命令的绝对路径和PATH的关系问题)

pyenv 环境构造多python环境_环境_02


2

python安装包的路径已经在pyenv这个软件控制版本的软件下了

每个python版本的安装软件不能公用,pip list可以查看已经安装的软件


pyenv 环境构造多python环境_构造_03