Centos6.5自带Python2.6.6升级最新Python3.6.1版本

一、升级 Python 3.6.1 版本
1. 准备安装包,系统是最小化安装

# 下载安装依赖的相关包
[root@vip ~]# yum install vim gcc make wget -y
[root@vip ~]# yum install openssl-devel zlib-devel readline-devel sqlite-devel -y
# 下载
[root@vip ~]# cd /usr/local/src
[root@vip ~]# wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz
# 解压
[root@vip ~]# tar -zxvf Python-3.6.1.tgz
[root@vip ~]# ls
Python-3.6.1  Python-3.6.1.tgz
2. 编译配置安装

[root@vip ~]# cd Python-3.6.1
[root@vip Python-3.6.1]# ./configure --enable-shared --enable-loadable-sqlite-extensions --prefix=/usr/local/python36 --with-zlib --with-ssl
[root@vip Python-3.6.1]# vim ./Modules/Setup    # 找到下边这一行内容,去掉注释
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
[root@vip Python-3.6.1]# make && make install
3. 查看 python 版本信息

[root@vip Python-3.6.1]# python -V
Python 2.6.6
# 版本依旧是 2.6.6
4. 用 python2.7 替换旧版本

[root@vip Python-3.6.1]# cd /usr/bin/
[root@vip bin]# ls python* -l   # 旧 python 版本信息
-rwxr-xr-x. 2 root root 4864 2月  22 2013  python
lrwxrwxrwx. 1 root root    6 10月 22 18:38 python2 -> python
-rwxr-xr-x. 2 root root 4864 2月  22 2013  python2.6
[root@vip bin]# mv /usr/bin/python /usr/bin/python2.6.6
[root@vip bin]# ln -s /usr/local/python36/bin/python3.6 /usr/bin/python
[root@vip bin]# ls python* -l
lrwxrwxrwx. 1 root root   33 10月 23 00:01 python -> /usr/local/python36/bin/python3.6
lrwxrwxrwx. 1 root root    6 10月 22 18:38 python2 -> python
-rwxr-xr-x. 2 root root 4864 2月  22 2013 python2.6
-rwxr-xr-x. 2 root root 4864 2月  22 2013 python2.6.6
5. 重新验证 Python 版本信息

[root@vip bin]# python -V
Python 3.6.1
可以看到,系统识别的 python 版本已经是 python 3.6.1

执行 python -V 遇到的问题:

python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
# 原因:linux系统默认没有把/usr/local/python36/lib路径加入动态库搜索路径
解决:

[root@vip ~]# vim /etc/ld.so.conf
# 添加如下一行内容
/usr/local/python36/lib
[root@vip ~]# ldconfig  # 使新添加的路径生效
 

二、解决 yum 兼容性问题
因为 yum 是不兼容 Python 3.6 的,所以 yum 不能正常工作,我们需要指定 yum 的 Python 为 2.6。

1. 升级 python 后 yum 出现的问题

[root@vip bin]#python2.6 yum 
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
 No module named yum
... ... ... ...
2. 编辑 yum 配置文件

[root@vip bin]# vim /usr/bin/yum
#!/usr/bin/python
# 第一行修改为 python2.6.6
#!/usr/bin/python2.6.6
3. 验证 yum 问题解决

[root@vip bin]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
... ... ... ...
 

三、升级 python 后,安装 pip 工具
python3.4版本后默认安装pip,此步省略

顺便的,如果是为了cassandra安装的python,一定不要升级3.x版本

猜你喜欢

转载自blog.csdn.net/weixin_42240930/article/details/81187799
今日推荐