Ubuntu Server 升级python的openssl版本

升级原因

cloudscraper的会提示你,cloudfare的某些技术,如果低于openssl 1.1.1的版本,就无法绕过.跟着这篇教程走,你会少踩很多坑,因为我已经踩过了,???.

1、机器信息

Ubuntu16 Server

2、升级openssl

下载openssl

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
sudo ./config (--prefix=/usr/local/openssl-1.1.1k 括号内为可选项)
sudo make
sudo make install
复制代码

删除旧软连接

sudo rm /usr/bin/openssl
复制代码

新建软件连接

sudo ln -s /usr/local/bin/openssl /usr/bin/openssl
复制代码

查看信息

出现错误:openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

解决办法:

cp libssl.so.1.1 /lib/x86_64-linux-gnu
cp libcrypto.so.1.1 /lib/x86_64-linux-gnu 
复制代码

还看不到的话,需要:

sudo apt-get upgrade
复制代码

在这里插入图片描述

3、升级python版本

使用较新的python3.8作为基础版本,安装准备:

sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget
复制代码

下载python版本

wget https://www.python.org/ftp/python/3.8.9/Python-3.8.9.tgz
复制代码

解压安装

tar -xf Python-3.8.9.tgz
cd Python-3.8.9
./configure --with-ssl-default-suites=python prefix=/usr/local/python3.8 --enable-optimizations
---------------------
sudo make
sudo make install
复制代码

参数 提示

你可能会在网上看到,源码安装时加一个 with ssl参数,其实这是不必要的,日志上写明白了 not recognized option ‘–with-ssl’,可能很多人都忽略了,需要加上 ==–enable-optimizations==参数,即以“官方发布的稳定版本”编译。

盗文司马

make 提示

使用make命令开始构建过程。将#1替换为系统上的CPU内核数,以加快构建时间,假如我的机器只有1个CPU内核,因此可以将make命令与-j 1选项一起使用:

make -j 1
复制代码

安装 提示

如果不想用标准安装(会覆盖系统默认python版本的二进制文件),假如你不想的话,可以这样做

sudo make altinstall
复制代码

删除旧的软连接

rm -rf /usr/bin/python3
rm -rf /usr/local/bin/python3/python3.8
复制代码

建立新的软连接

sudo ln -s /usr/local/python3.8/bin/python3.8 /usr/bin/python3
复制代码

查看版本

在这里插入图片描述

查看python3 openssl信息

在这里插入图片描述

至此大功告成

可能遇到的问题:

Command ‘(‘lsb_release’, ‘-a’)
若遇到该问题,按照我的教程,应该执行:

# by 笑笑布丁
sudo cp  /usr/share/pyshared/lsb_release.py /usr/local/python3.8/lib/python3.8/
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享