升级原因
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