Contos7 安装Python3 解决No module named '_ssl'

1. 安装 OpenSSL 1.1.1(不替换系统版本)

OpenSSL 1.1.1 安装到自定义目录(如 /opt/openssl-1.1.1),避免覆盖系统默认的 OpenSSL

 

# 安装编译依赖

 

sudo yum install -y gcc perl make zlib-devel

# 下载 OpenSSL 1.1.1(以 1.1.1w 为例  可以直接下载下来传到/目录)

 

wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz 

 

tar -xzf openssl-1.1.1w.tar.gz

 

cd openssl-1.1.1w

 

# 编译安装到 /opt/openssl-1.1.1(不干扰系统默认路径)

 

./config --prefix=/opt/openssl-1.1.1 --openssldir=/opt/openssl-1.1.1 shared zlib

 

make -j$(nproc)

 

sudo make install

 

# 验证新 OpenSSL(不修改系统链接)

 

/opt/openssl-1.1.1/bin/openssl version  # 应输出 OpenSSL 1.1.1w

 

2. 安装 Python 3.10.9(链接到自定义 OpenSSL)

编译 Python 时,显式指定 OpenSSL 1.1.1 的路径:

# 安装 Python 编译依赖

sudo yum install -y gcc make zlib-devel bzip2-devel libffi-devel readline-devel sqlite-devel openssl-devel

# 下载 Python 3.10.9

wget https://www.python.org/ftp/python/3.10.9/Python-3.10.9.tgz

tar -xzf Python-3.10.9.tgz

cd Python-3.10.9

# 配置时指定 OpenSSL 路径

./configure --build=x86_64-pc-linux-gnu --prefix=/usr/local/python3.10 --enable-optimizations --with-openssl=/opt/openssl-1.1.1 --with-system-ffi --enable-shared --disable-optimizations

# 编译并安装

make -j$(nproc)

sudo make install

# 创建软链接(可选)

sudo ln -s /usr/local/python3.10/bin/python3.10 /usr/bin/python3.10

sudo ln -s /usr/local/python3.10/bin/pip3.10 /usr/bin/pip3.10

#设置环境变量

echo 'export LD_LIBRARY_PATH=/opt/openssl-1.1.1/lib:/usr/local/python3.10/lib:$LD_LIBRARY_PATH' >> ~/.bashrc

echo 'export PATH=/usr/local/python3.10/bin:$PATH' >> ~/.bashrc

source ~/.bashrc

# 更新动态库缓存

sudo ldconfig

运行使用 

python3.10 main.py 

pip3.10  install

 

posted @ 2025-04-27 14:28  时间留下最真的人丿  阅读(363)  评论(0)    收藏  举报