编译安装Python3.6

时间:2020-12-28 16:57:18
注:环境为CentOS 7 以及 自带的老版Python2.7

一、在官方下载源码包

二、先安装好编译环境
yum install gcc* openssl-devel ncurses ncurses-devel

三、解压安装

tar xf Python-3.6.5.tgz 
cd Python-3.6.5
./configure --prefix=/python36    定义Python3.6的安装目录
make && make install
make clean
make distclean 
/python36/bin/python3 -V    // 查看Python3.6是否安装好
ln -s /python36/bin/python3 /usr/bin/python3    // 创建软连接到/usr/bin下,这样Python2.7和Python3时能共存
四、安装过程遇到的 "坑"  
在make install 出现 zipimport.ZipImportError: can't decompress data; zlib not available
解决:
    yum -y install zlib zlib-devel
在安装好Python3.6时,执行Python3出现: AttributeError: module 'readline' has no attribute 'set_completer'
解决:
    安装模块 "readline"
    https://pypi.org/project/readline/#files    // 下载readline模块安装包,注意:要是源码包
    tar xf readline-6.2.4.1.tar.gz 
    cd readline-6.2.4.1
    python3 setup.py install    // 这步可能出现以下报错
        gcc: error:readline/libreadline.a:no such file or directory
        gcc: error:readline/libhistory.a:no such file or directory
        error: command 'gcc' failed with exit status 1
        解决:
            yum install readline-devel patch 
 安装完Python3.6时,在CentOS7下有2.7和3.6共存,在后期编写的py脚本若是要用到Python3的编译环境时,执行时使用python3命令或者在脚本顶行改成 ----->> #!/usr/bin/python3
最后前面的 “坑”解决完了之后,当你兴致勃勃的使用python3进入交互界面时,发现敲完代码,按下Enter键时,发现报错:Error in `python': munmap_chunk(): invalid pointer:
    解决:
        // python3.6重新安装一遍,就 OK 了,但是感觉还是很泪奔!!!