安装openssl
使用pip3安装 virtualenv的时候会提示WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
这是因为缺少openssl 2.0以上版本
解决办法:
一、先确认版本
openssl version
二、安装依赖
如果已有,这步可以忽略
yum install gcc libffi-devel zlib* openssl-devel
三、下载高版本openssl
下载:
wget https://www.openssl.org/source/openssl-3.4.1.tar.gz
解压:
tar -zxvf openssl-3.4.1.tar.gz
进入目录:
cd openssl-3.4.1
/usr/local/openssl 这个目录要提前创建好
./config --prefix=/usr/local/openssl
四、编译&安装
编译:
sudo make
安装:
sudo make install
重新查看版本
openssl version
查看版本时如果出现
openssl: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory
使用以下两个命令,建立连接即可
sudo ln -s /usr/local/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3
sudo ln -s /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3
安装python
sudo yum update -y
sudo yum groupinstall "Development Tools" -y
sudo yum install openssl-devel bzip2-devel libffi-devel sqlite-devel zlib-devel -y #这是安装相关依赖
cd /tmp
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz #下载python
tar -xvf Python-3.11.11.tgz #解压
cd Python-3.11.11
./configure --enable-optimizations --prefix=/usr/local/python3
sudo make -j $(nproc) && make install #sudo 临时提权 -j $(nproc)使用多核加速编译
将Python 3和pip3添加到系统路径:
sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python3
sudo ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
如果之前安装了其它的版本,有可能查询版本时还显示之前的版本,这时,需要在/usr/bin/中找到之前版本python3 、 pip3的文件,删除(先备份),再将新安装的版本改为python3,如:
重命名,将python3.11改为python3即可,pip3同理。