
1、CentOS安装OpenSSL1.1.1(前置环境)
编译安装Python3.10时需要openssl1.1.1
查看当前版本 & 删除openssl1.0
openssl versionyum remove openssl
切换目录,下载安装包,解压并进入目录
cd /optwget https://www.openssl.org/source/openssl-1.1.1n.tar.gz --no-check-certificatetar -zxf openssl-1.1.1n.tar.gzcd openssl-1.1.1n
安装依赖
yum install gcc-c++yum install -y pcre pcre-develyum install -y zlib zlib-devel
yum install -y perl-CPANperl -MCPAN -e shellsudocpan[1]> install IPC/Cmd.pmexit
配置,编译,安装,软连接
./config --prefix=/usr/local/opensslmake -j 2make installln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
环境变量
vim /etc/ld.so.conf
在文件末尾添加一行代码:
/usr/local/openssl/lib
保存:
vim : q
使之生效:
ldconfig -v
验证版本:
openssl version
2、CentOS安装 Python 3.10
基础环境配置升级
sudo yum -y updatesudo yum -y groupinstall “Development tools”sudo yum -y install openssl-devel libffi-devel bzip2-develyum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-develyum install -y libffi-devel zlib1g-devyum install zlib* -y
切换目录, 下载安装包, 解压并进入源码目录
cd /optwget https://www.python.org/ftp/python/3.10.4/Python-3.10.4.tgztar xvzf Python-3.10.4.tgzcd Python-3.10.4
配置编译并且安装,创建软连接,参考
./configure --enable-optimizations --with-openssl=/usr/local/openssl-1.1.1 --with-openssl-rpath=auto./configure --with-openssl=/usr/local/openssl-1.1.1 --with-openssl-rpath=auto
make cleanmake -j && make installln -sf /usr/local/python3/bin/pip3 /usr/bin/pip3ln -sf /usr/local/python3/bin/python3 /usr/bin/python3
验证
python3 --version
安装常用的 Python 包
你可以安装一些常用的 Python 包,如 requests、numpy 等:
pip3 install requests numpy
如果在安装 pip 包时遇到 SSL 错误,请重新配置并编译 Python:
cd /opt/Python-3.10.4sudo make clean # 清理之前的编译./configure --with-openssl=/usr/local/opensslmake -j 2sudo make install
验证 SSL 模块
重新编译后,验证 Python 是否正确加载了 SSL 模块
python3 -c "import ssl; print(ssl.OPENSSL_VERSION)"
如果输出类似 OpenSSL 1.1.1n 15 Mar 2022,说明 SSL 模块已正确加载。
再次尝试安装 pip 包
尝试再次安装 requests 和 numpy:
pip3 install requests numpy
创建虚拟环境(推荐)
为了更好地管理你的 Python 项目,建议使用虚拟环境。可以使用 venv 模块创建一个虚拟环境:
python3 -m venv myenv
启动虚拟环境:
source myenv/bin/activate
在虚拟环境中,你可以安装所需的包,而不会影响系统全局的 Python 包。
验证安装的包
你可以通过简单的 Python 脚本来验证安装的包是否能正常使用。例如,创建一个 test.py 文件:
import requestsimport numpy as np
response = requests.get("https://api.github.com")print("GitHub API status:", response.status_code)
array = np.array([1, 2, 3])print("NumPy array:", array)
然后运行这个脚本:
python3 test.py
如果一切正常,你将看到 GitHub API 的状态码和 NumPy 数组的输出
补充:
更新 yum 配置(如果需要)
默认的 CentOS 7 没有安装 pip,先添加 epel 扩展源:
sudo yum -y install epel-releasesudo yum install python-pip
然后更改 yum 配置,因为其要用到 python2 才能执行,否则会导致 yum 不能正常使用:
sudo vi /usr/bin/yum
将第一行修改为:
#!/usr/bin/python2
同样修改另一个文件:
sudo vi /usr/libexec/urlgrabber-ext-down
将第一行修改为:
#!/usr/bin/python2
以上就是在 CentOS 上安装 OpenSSL 1.1.1 和 Python 3.10 的完整教程,包括解决 pip SSL 问题的步骤
在大多数情况下,如果您安装了 Python 3,可以使用 pip3 来代替 pip:
pip3 install requestssudo yum install python3-pip/usr/local/bin/python3.10 -m pip install --upgrade pippip --version