注:环境为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 了,但是感觉还是很泪奔!!!