CentOS7.2 多个python版本共存
1.查看是否已经安装Python
CentOS 7.2 默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5。
使用python -V命令查看一下是否安装Python:
然后查看一下Python可执行文件的位置:
进入到bin目录:
可以看到可执行文件python指向python2,python2又指向python2.7也就是说Python命令执行的系统预装的Python2.7。
要安装Python的其他版本先执行mv python python.bak命令备份python文件。
2、安装python3.5.2版本
安装相关包
(1)# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
下载 Python 3.5.2源码包
(1)# wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz
(2)# tar xf Python-3.5.2.tar.xz -C /usr/local/src/ (yum -y install xz #若失败,重建yum缓存.yum clean all ,yum makecache)
(3)# cd /usr/local/src/Python-3.5.2
(4)#./configure --prefix=/usr/local/python3
(5)#make && make install
//从 Python 3.4 开始就已经自带了 pip 和 easy_install(setuptools 包带的命令) 包管理命令,你可以在 /usr/local/python3/bin/ 目录下看到,查看一下已经安装的扩展包:
(6)#/usr/local/python3/bin/pip3 list
pip (8.1.1)
setuptools (20.10.1)
You are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
// 更新pip
(7)#/usr/local/python3/bin/pip3 install --upgrade pip
(8)# /usr/local/python3/bin/pip3 list
pip (8.1.2)
setuptools (20.10.1)
//查看是否安装成功
(9)创建软连接。
```
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
```
执行python -V查看Python是否安装成功。
# python -V
Python 3.5.2
//安装完成。
3、修改yum配置文件
因为yum使用python2,因此替换为python3后可能无法正常工作,继续使用这个python2.7.5,因此需要修改yum相关配置文件。
(1)vi /usr/bin/yum
把文件头部的#!/usr/bin/python改成#!/usr/bin/python2.7保存退出即可。
因为yum使用python2,因此替换为python3后可能无法正常工作,继续使用这个python2.7.5因此修改yum配置文件(vi /usr/bin/yum)。把文件头部的#!/usr/bin/python改成#!/usr/bin/python2.7保存退出即可
(2) vi /usr/libexec/urlgrabber-ext-down
第一行改为#!/usr/bin/python2.7
注意:若只修改第一个,还是无法使用yum,需要这2个文件都修改。
只修改一个不修改第二个,报错如下:
#yum repolist
已加载插件:fastestmirror
Determining fastest mirrors
* base: mirrors.yun-idc.com
* extras: mirrors.yun-idc.com
* updates: mirrors.yun-idc.com
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
^
SyntaxError: invalid syntax
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
^
SyntaxError: invalid syntax
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
^
SyntaxError: invalid syntax
由于用户取消而退出
4、检测多版本