CentOS7.9 源码编译安装 Python3.11 一键脚本(1核2G可用)
适用系统:CentOS Linux release 7.9.2009 (Core)
特点:不破坏系统自带Python,使用 altinstall 安装,不会损坏yum工具;适配1~2G内存云服务器,关闭编译优化防止编译卡死。
⚠️ 重要提醒:CentOS7 默认源无法直接yum安装Python3.11,只能源码编译。不要执行 make install,必须使用 make altinstall!
一、前置依赖(已经安装可跳过)
yum install -y gcc gcc-c++ make zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
二、Python3.11 完整一键安装脚本
# 1.清理旧损坏源码包 cd /usr/src rm -rf Python-3.11.10* # 2.下载阿里云镜像源码包 wget https://mirrors.aliyun.com/python-release/source/Python-3.11.10.tgz # 3.解压源码 tar -zxvf Python-3.11.10.tgz cd Python-3.11.10 # 4.编译配置(移除优化项,适配小内存服务器) ./configure --prefix=/usr/local/python311 # 5.编译与安装(altinstall,保护系统python) make -j$(nproc) make altinstall # 6.创建全局软链接 ln -sf /usr/local/python311/bin/python3.11 /usr/bin/python3.11 ln -sf /usr/local/python311/bin/pip3.11 /usr/bin/pip3.11 # 7.输出版本验证 python3.11 --version pip3.11 --version
三、验证SSL模块(关键检查项)
CentOS7自带OpenSSL版本较低,编译完成后务必检查ssl模块:
python3.11 -c "import ssl; print(ssl.OPENSSL_VERSION)"
✅ 正常:输出OpenSSL版本号
❌ 报错No module named ssl:pip无法使用HTTPS源,临时安装包使用下面http豆瓣源
pip3.11 install flask flask-sqlalchemy -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
四、创建项目虚拟环境(Flask CRM项目推荐)
mkdir -p /opt/crm cd /opt/crm python3.11 -m venv venv source venv/bin/activate
激活成功后命令行前缀出现 (venv),所有项目依赖隔离在此虚拟环境。
退出虚拟环境命令:deactivate
五、使用Screen防止SSH断开中断编译
编译前执行screen,就算SSH掉线,编译任务后台继续运行:
screen -S py311 # 粘贴上面整套安装命令 # 断线重连恢复:screen -r py311
六、常见问题
解压报错:压缩包下载不完整,执行rm清理后重新wget下载
编译卡死:服务器内存不足,确认configure不带--enable-optimizations
command not found:软链接未创建成功,手动执行ln两条软链接命令
禁止make install:会覆盖系统python,yum直接失效




