Python3.7安装(解决ssl问题)

摘自:https://blog.csdn.net/love_cjiajia/article/details/82254371

python3.7安装(解决ssl的问题)

1) 安装准备

yum -y install zlib zlib-devel 
yum -y install bzip2 bzip2-devel 
yum -y install ncurses ncurses-devel 
yum -y install readline readline-devel 
yum -y install openssl openssl-devel 
yum -y install openssl-static 
yum -y install xz lzma xz-devel 
yum -y install sqlite sqlite-devel 
yum -y install gdbm gdbm-devel 
yum -y install tk tk-devel

2) 安装libressl代替openssl-devel 
由于系统的openssl是1.0.1的版本,对于python3.7太老了,需要更新为openssl1.0.2或者libressl2.64(不含)以后的版本,所以这里从libressl官网下载libressl源码,编译生成库文件代替系统的openssl1.0.1

进入解压后的目录libressl-2.8.0

运行: ./config –prefix=/usr/local/ssl 
make 
make intall

mv /usr/bin/openssl /usr/bin/openssl.bak 
mv /usr/include/openssl /usr/include/openssl.bak 
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl 
ln -s /usr/local/ssl/include/openssl /usr/include/openssl

cd /etc/ld.so.conf.d 
新建文件 
vim libressl-2.8.0.conf 
#将以下行加入文件,并保存 
/usr/local/ssl/lib

ldconfig -v #重新加载库文件

验证是否安装完成 
[[email protected] hadoop_software]# openssl version 
LibreSSL 2.8.0

3) 安装python3.7 
从官网下载python3.7的源码, 
解压后进入Python-3.7.0

编译前需要设置环境变量(重要) 
export LDFLAGS=”-L/usr/local/ssl/lib” 
export CPPFLAGS=”-I/usr/local/ssl/include” 
export PKG_CONFIG_PATH=”/usr/local/ssl/lib/pkgconfig”

./configure –prefix=/usr/python –enable-shared CFLAGS=-fPIC 
运行后会出现一堆信息: 
注意最后的ssl检查,如下图所示: 
 
如果ssl版本太旧或者编译前没有设置ssl的环境变量,这里是检测不到ssl的,安装完成后的pip3是无法使用的,这点非常关键!

检测通过后,运行 
make 
make install

ln -s /usr/python/bin/python3 /usr/bin/python3 
ln -s /usr/python/bin/pip3 /usr/bin/pip3

验证python 安装正确

import ssl没有报错

参考:http://ju.outofmemory.cn/entry/363322

原文地址:https://www.cnblogs.com/LiuYanYGZ/p/12041788.html

时间: 2024-08-01 02:56:16

Python3.7安装(解决ssl问题)的相关文章

python3安装解决ssl问题

安装Python3.6.4 1 安装python3.6可能使用的依赖 yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel 2 到python官网找到下载路径, 用wget下载 wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz 3 解压tgz包 ta

Windows7 Python-3.6 安装PyCrypto(pycrypto 2.6.1)出现错误以及解决方法

今天准备在Windows系统上基于python3.6安装一个pycrypto 2.6.1模块,很不幸的报了一堆错误,如下所示: running install running build running build_py running build_ext warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath. building 'Crypto.Random.OSRNG.winrandom'

python3自动安装脚本,python3.x与python2.x共存

1.前言: python3过程中,通过搜索一些文章参考安装过程发现比较麻烦,而且还出现一些不可预期的报错.python3环境需要升级openssl,所以为了部署到其他环境更方便,写自动安装脚本方式,且安装模式为python3.x与python2.x共存,防止可能发生原有环境异常的情况. 现在我把脚本分享出来,希望可以帮助到有需要的人,业务采集监控python脚本文件不提供,因为那些跟实际业务开发关联比较紧,比较没有参考意义也不方便公开. shell自动安装脚本,只需按说明简单修改配置,和调用集成

python3下安装aiohttp遇到过的那些坑

python3下安装aiohttp遇到过的那些坑 最近需要用到aiohttp这个库,在安装过程中遇到很多坑.google.baidu后,依然没有找到合适的解决方案. 后来通过去python官方的PyPI查看aiohttp库,才发现一些问题,几经折腾,最后终于成功的在python3下安装’aiohttp’. 在这里跟大家分享一下被坑的过程. 先说一下环境.win7,64位.电脑里安装的python有3.5和3.6两个版本. 1. python3.6下安装aiohttp python3.6环境下,已

python3.6 安装jupyter,打不开notebook

python3.6 安装jupyter,打不开notebook,提示ModuleNotFoundError: No module named 'markupsafe._compat',有编码问题,解决办法是下载一个git base ,安装好后 ,再 git base 把之前安装过的markupsafe模块卸载了,pip uninstall markupsafe,然后在git base里重新安装这个模块,命令和在windows下一样.安装成功后,再去windows命令行里,输入jupyter,就可

同时安装Python2与Python3,安装第三方包,老是报错

同时安装Python2与Python3,安装第三方包,老是报错提示Fatal error in launcher: Unable to create process using '"',那可能是环境变量有冲突了. 解决办法: 是在环境变量Path中上下移调整两个"PythonX/Scripts"位置,使之位于前两位(哪个版本常用就靠前): 是使用另一种命令python3 -m pip install requests来安装.

linux --- 2.常用命令 , python3, django安装

一.常用命令 1.常识命令 ① w      显示终端连接数 ②pwd    我在哪 ③whoami      我是谁 ④which 命令        找到命令的绝对路径 2.linux 命令行的组成结构 ① ② 修改命令提示符 PS1 的变量控制的 默认的命令提示符 echo $PS1 结果是 [\u@\h \W]\$ 修改变量的值 PS1="[\u@\h \w \t]\$" 3.命令的语法格式 4.递归创建目录的各种方式 mkdir /oldboy ---------------

EasyOpenJTAG驱动无法正确安装解决方法(Win10)

在安装EasyOpenJTAG驱动无法正确安装解决方法: 开始菜单->设置->更新和安全->恢复->立即重启 静心等待后电脑会进入一个设置界面,在设置界面中选择: 疑难解答->高级选项->启动设置->重启 电脑重启后,出现选择界面,F7选择禁止验证驱动签名. 而后打开电脑的设备管理器,对"其余设备"的选项中的所有设备驱动进行更新驱动程序,选择"手动查找并安装驱动程序软件",选择搜索驱动程序软件的位置,然后下一步.

Python3 是如何解决棘手的字符编码问题的?

Python3 最重要的一项改进之一就是解决了 Python2 中字符串与字符编码遗留下来的这个大坑.本文就和大家一起来扒一扒python3是如何解决的字符编码问题,希望对大家学习python3有所帮助. Python2 字符串设计上的一些缺陷: · 使用 ASCII 码作为默认编码方式,对中文处理很不友好. · 把字符串的牵强地分为 unicode 和 str 两种类型,误导开发者 当然这并不算 Bug,只要处理的时候多留心也可以避免这些坑.但在 Python3 两个问题都很好的解决了. 首先