安装CentOS7.4后,执行#Python与#python -V,看到版本号是2.7.5
现安装python3.X,但是不能删除2.x版本的。
#python官方下载地址
第1步:更新gcc,因为gcc版本太老会导致新版本python包编译不成功
复制代码代码如下:
#yum -y install gcc
第2步:下载Python-3.6.4软件包
#wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz
第3步:解压已下载的二进制包并编译安装
#tar -xvzf Python-3.3.0.tgz
进入目录:#cd Python-3.6.4
配置安装目录,其他选项一般默认即可:
#不配置也可以,直接./configure命令
开始编译安装:
#make
#编译的过程会比较慢,等一下就好了
#make install
#这里可能会报错,原因是缺少依赖包,解决办法直接看底部
#make clean
#make distclean
第4步:建立软连接指向到当前系统默认python命令的bin目录
整个过程大约5-10分钟,安装成功之后,安装目录就在/usr/python
系统中原来的python在/usr/bin/python,通过ls -l可以看到,python是一个软链接,链接到本目录下的python2.7
我们可以不用把这个删除,不对原来默认的环境做任何修改,只新建一个python3的软链接即可,只是需要执行python3代码时python要改成python3,或者python脚本头部解释器要改为#!/usr/bin/python3
这里建立软链接如下:
$ ln -s /usr/python/bin/python3 /usr/bin/python3
查看版本:
#python3 –V
可能出现的问题,我安装centos7.4版本,未曾出现以下问题:问题一:
就是python3交互式界面特别不好用,删除不能正常使用,必须按Ctrl+删除键才可以,上下键重复命令也无法使用,左右调整光标也无法使用,这样调试代码效率很低,原因是python3缺少readline这个依赖,默认使用pip3 install readline会提示找不到包,所以只能是手动安装了
因为readline依赖于ncurses库,如果没有这个库,编译readline的时候会提示can not find -lncurses,如果在centos环境下可以执行下面命令安装:
yum -y install ncurses ncurses-devel
安装ncurses库之后,再安装readline,readline可以在pypi下载,地址:https://pypi.python.org/pypi/readline,这里一定要下载源码包,其余的只能用于python2,下载之后执行下面命令安装:
tar -xvzf readline-6.2.4.1.tar.gz
cd readline-6.2.4.1/
python3 setup.py install
这样执行完毕就为python3安装了readline,然后再进入交互式界面所有的操作都好用了
问题二:
第一次安装的时候会报错:can't decompress data; zlib not available
解决办法:
1、安装依赖zlib、zlib-devel 以及 ncurses ncurses-devel
# yum -y install zlib zlib-devel
2、重新编译安装Python
# make install