有勇气的牛排博客

Python安装教程

有勇气的牛排 1371 Python 2021-10-04 20:18:07

进群口令:博客

Python 3.8安装

前言

在 CentOS 系统上编译安装 Python 时,常常会遇到 _ssl 模块缺失 的问题,其根本原因在于 OpenSSL 版本过低。
本文将演示如何升级 OpenSSL 到 1.1.1k,并在此基础上编译安装 Python 3.8。

升级openSSL

Python 2.7 至 Python 3.6 需要 OpenSSL 0.9.8 至 1.0.2 版本。
Python 3.7 支持 OpenSSL 1.0.2 和 1.1.x 系列,但推荐使用 1.1.x。
Python 3.8 及之后的版本 需要 OpenSSL 1.1.1 或更高版本。

一、升级 OpenSSL

1. 查看系统 OpenSSL 版本

openssl version # 例如显示 1.0.2,需要升级

2. 安装依赖库

sudo yum -y groupinstall "Development tools" sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel gdbm-devel db4-devel libpcap-devel xz-devel make sudo yum -y install gcc gcc-c++ python-devel wget

3. 下载并编译 OpenSSL

mkdir -p /usr/local/ssl cd /usr/local/ssl wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz tar -zxvf openssl-1.1.1k.tar.gz cd openssl-1.1.1k ./config --prefix=/usr/local/ssl/openssl shared zlib make && make install

4. 替换系统旧版 OpenSSL

mv /usr/bin/openssl /usr/bin/openssl.bak mv /usr/include/openssl /usr/include/openssl.bak ln -s /usr/local/ssl/openssl/bin/openssl /usr/bin/openssl ln -s /usr/local/ssl/openssl/include/openssl /usr/include/openssl echo /usr/local/ssl/openssl/lib >> /etc/ld.so.conf ldconfig -v

5. 验证版本

openssl version # OpenSSL 1.1.1k

二、安装 Python 3.8

1. 下载源码

mkdir -p /usr/local/python3 cd /usr/local/python3 wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tar.xz xz -d Python-3.8.5.tar.xz tar -xvf Python-3.8.5.tar cd Python-3.8.5

2. 编译安装

./configure --prefix=/usr/local/python3/Python-3.8.5_build --enable-optimizations make && make install

3. 建立软连接

rm -rf /usr/local/bin/python3.8 rm -rf /usr/local/bin/pip3.8 ln -s /usr/local/python3/Python-3.8.5_build/bin/python3.8 /usr/local/bin/python3.8 ln -s /usr/local/python3/Python-3.8.5_build/bin/pip3.8 /usr/local/bin/pip3.8

4. 验证

python3.8 -V pip3.8 -V

Python 3.10安装

前言

Python 3.10 在功能和性能上比 3.8 有明显提升,但编译时更依赖 OpenSSL。
本文在 CentOS 上演示如何升级 OpenSSL 1.1.1k,并在其上编译安装 Python 3.10。


一、升级 OpenSSL

(步骤同 Python 3.8 文章,此处不再赘述)

确保执行:

openssl version # 应显示 OpenSSL 1.1.1k 或更高版本

二、安装 Python 3.10

1. 下载源码

mkdir -p /usr/local/python3 cd /usr/local/python3 wget https://www.python.org/ftp/python/3.10.9/Python-3.10.9.tar.xz xz -d Python-3.10.9.tar.xz tar -xvf Python-3.10.9.tar cd Python-3.10.9

2. 编译安装(指定 OpenSSL 路径)

./configure --prefix=/usr/local/python3/Python-3.10.9_build --with-ssl=/usr/local/ssl/openssl --enable-optimizations make && make install

3. 建立软连接

rm -rf /usr/local/bin/python10 rm -rf /usr/local/bin/pip10 ln -s /usr/local/python3/Python-3.10.9_build/bin/python3.10 /usr/local/bin/python10 ln -s /usr/local/python3/Python-3.10.9_build/bin/pip3.10 /usr/local/bin/pip10

4. 验证

python10 -V pip10 -V

三、常见报错处理

1. pip 缓存权限问题

sudo chown -R ubuntu /home/ubuntu/.cache/pip/ sudo chown -R ubuntu /home/ubuntu/.cache/pip/http

2. 缺少 _ssl 模块

说明 OpenSSL 未正确安装或未指定 --with-ssl,需重新配置编译。

评论区

用户头像
有勇气的牛排 2024-12-18 23:14:47
有疑问可留言
×
×