0.简介
centos7下源码编译安装python3.8(3.7+版本均可),3.6可通过yum安装(yum install python36)略。。。
Centos安装Python3.8
centos7下源码编译安装python3.8(3.7+版本均可),3.6可通过yum安装(yum install python36)略。。。
1.安装编译相关工具
准备工作,每台机器运行过一次即可
yum -y groupinstall “Development tools”
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel
yum -y install libffi-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
2.下载python源码包
访问https://www.python.org/ftp/python/,就能看到各个版本的python包了
image-20211108212857021
本文以3.8.8版本为例
下载
wget https://www.python.org/ftp/python/3.8.8/Python-3.8.8.tgz
解压
tar -zxvf Python-3.8.8.tgz
3.编译安装
mkdir /usr/local/python3.8 #创建编译安装目录
cd Python-3.8.8
!!!!安装之前一定编辑setup先去掉注释,否则会报_ssl错误,详情参考下方5部分
vim Python-3.8.2/Modules/Setup ;取消以下注释
# Socket module helper for socket(2)
_socket socketmodule.c timemodule.c
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
注意 3.8.8缺了timemodule.c,需要加上,否则make还是会报错;
注意每次编译前先删除安装目录/usr/local/python3.8,再创建个目录/usr/local/python3.8
安装 yum install openssl,再./configure --enable-optimizations --prefix=/usr/local/python3.8
到最后,我也没解决这些问题,我选用了最粗暴的方法:rm -rf。OpenSSL不能用了?删!Python3.8没编译成功?删!把所有删个干净后再重新安装,sudo apt-get install openssl,vim Setup,sudo ./configure --enable-optimizations --prefix=/usr/local/python3.8,sudo make,sudo make install,sudo ln -s /usr/local/python-3.8/bin/python3.8 /usr/bin/python3.8一气呵成!没有终止,没有报错!
参考:https://blog.youkuaiyun.com/weixin_37988176/article/details/109420535
./configure --prefix=/usr/local/pytho