说明:ssl的问题其实就是解决安装第三方包的安装问题!
提示:关于3.6版本的安装不需要升级openssl!
一、安装步骤
(1)源码安装Python3.7.3
强调:可以在虚拟机中安装然后移植到真机,但一定要保证操作系统版本和安装的目录,以及相应文件权限一致!
1.1)从官网或者其它渠道下载python的软件包
# 解压缩
(0) wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
(1) tar -zxvf Python-3.7.3.tgz
(2) cd Python-3.7.3/
# 依赖环境:编译前的准备工作!
(3) yum -y install zlib-devel bzip2-devel openssl-devel(核心) ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel(核心)
1.2)阅读相关安装文档(细细品读)
# 必须读的文档
vim README.rst
# 安装使用的脚本-->看帮你干了啥
vim setup.py
# 关于SSL的
Python-3.7.3/Modules/Setup.dist
README.rst的核心说明:
# (1)默认编译--->没有自定义安装目录,会覆盖原来的(慎用)!
./configure
# 这里自定义 --prefix=/usr/local/DevelopmentSoftware/Python3
# (2)编译
make
# (3)测试make是否成功
make test
# (4)安装(root权限)!
sudo make install
编译参数说明:
(1)--with-ssl=path
作用:指定openssl包的位置,以便编译的时候可以进行将openssl纳入到Python,方便后续第三方包的安装!
参数无效原因:不指定路径,则默认在Python-3.7.3/Modules/Setup.dist指定的SSL路径,实际查询并没有此路径的相关包,所以configure时会出现错!
not recognized option '--with-ssl'!
(2)--enable-optimizations(稳定版本)
Python-3.7.3/Modules/Setup.dist
等效方式:修改或者自定义环境变量!
方式1:知道了默认的--with-ssl的ssl的路径,则只需要openssl编译安装之后,指定此路径即可,不指定路径会说参数无效!
备注:可以选择去掉注释或者不变!
可以参考:--with-ssl来指定SSL的路径!
方式2:编译前,自定义SSL的相关环境变量环!
备注:这里采用的时方式2,但是个人感觉方式1比较靠谱!
说明:python3编译的时候并没有使用--with-ssl的参数,而是通过自定义SSL的相关环境变量环方式(太麻烦)!
##################################
(1)安装
# (1)官网下载后解打包
tar -zxvf libressl-2.8.3.tar.gz
# (2)编译,指定安装目录
cd libressl-2.8.3/
./configure --prefix=/usr/local/DevelopmentSoftware/SSL
# (3)安装
make && make install
(2)修改
# (1)将旧版本的备份
# 文件
mv /usr/bin/openssl /usr/bin/openssl.bak
# 目录
mv /usr/include/openssl /usr/include/openssl.bak
# (2)建立软连接
ln -s /usr/local/DevelopmentSoftware/SSL/bin/openssl /usr/bin/openssl
ln -s /usr/local/DevelopmentSoftware/SSL/include/openssl /usr/include/openssl
# 修改的原因-->有什么问题还可以还原,必须知道在系统中做了什么!
(3)校验
(1)openssl version # 查看版本
(2)vim /etc/.bashrc # 添加环境变量
(3)cd /etc/ld.so.conf.d/
(4)vim libressl-2.8.3.conf # 添加动态库的路径
(5)ldconfig -v # 即时生效
(6)openssl version # 查看版本
##############分割线#################
问题:ssl解决了,但是出现pip的问题
安装包测试:./pip3.7 install itchat
"""You are using pip version 19.0.3, however version 19.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command."""
说明:此时不是ssl不可用的问题了,而是pip版本太低的原因!
解决:可能网速的原因(不成功,从国外镜像下载的,速度比较慢,可能会timeout)
Windows:./python3 -m pip install --upgrade pip
Linux:./pip3 unstall --upgrade pip
结果:多个一个pip(升级的原因),此时就可以解决下载第三方包下载的问题!
##############相关参考##################