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
浙公网安备 33010602011771号