参考:

https://www.cnblogs.com/mqxs/p/9103031.html

https://www.cnblogs.com/cerutodog/p/9908574.html

确认环境 系统版本

openssl版本

[root@67 local]# openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017

OPS,居然新安装的centOS系统自带的就是1.0.2版本,这是不是意味着我可以很轻松的安装好python,然后import ssl就不会报错,而不用再去额外配置openssl了呢

?期待的搓搓手(原因是python3需要要注意的地方是版本要1.02以上版本才能正常使用像requests之类的库)

为了避免后面报各种错,我们先把需要的信赖包安装上,再安装python3

执行完make&&make install之后,可能会出现这种报错:

“ModuleNotFound:No module named '_ctypes'”

这里需要执行:

yum install libffi-devel -y

安装python3.6可能使用的依赖
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++  openssl-devel
 

[root@67 local]# yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Package 1:openssl-devel-1.0.2k-16.el7_6.1.x86_64 already installed and latest version
Package bzip2-devel-1.0.6-13.el7.x86_64 already installed and latest version
Package expat-devel-2.1.0-10.el7_3.x86_64 already installed and latest version
Package gdbm-devel-1.10-8.el7.x86_64 already installed and latest version
Package readline-devel-6.2-10.el7.x86_64 already installed and latest version
Package sqlite-devel-3.7.17-8.el7.x86_64 already installed and latest version
Package gcc-4.8.5-36.el7_6.2.x86_64 already installed and latest version
Package gcc-c++-4.8.5-36.el7_6.2.x86_64 already installed and latest version
Package 1:openssl-devel-1.0.2k-16.el7_6.1.x86_64 already installed and latest version
Nothing to do
[root@67 local]# yum install libffi-devel -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile

* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Package libffi-devel-3.0.13-18.el7.x86_64 already installed and latest version

下面开始安装,太紧张了
 

建立一个文件夹安装python3

mkdir /usr/local/python3

下载安装文件

下载
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz

解压

tar -xf Python-3.6.2.tgz

进入目录

cd Python-3.6.2

安装python3 (要注意如果你的ssl也是指定目录安装的 --with要跟上路径)

./configure --prefix=/usr/local/python3 --with-ssl

编译,安装,这一步会花的时间长一点

make && make install

安装完成

创建软连接之前先验证一下环境

cd /usr/local/python3/bin/

cd /usr/bin

最后创建软连接

ln -s /usr/local/python3/bin/python3 /usr/bin/python3

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

建立软链接后

接下来就是要验证的时候,太紧紧紧张了

验证通过了~ 激动呀 开心呀,上次在centOS6.5搞这一套流程,一直有问题,整了周五下午到凌晨3点,周六下午7点到凌晨1点,整个人都不好了.

居然重装一次系统就解决问题了.

centOS7.6 自带的openSSL版本就可以支持python3了,无须再做配置,这真是省了好多心呀

centOS安装python3 以及解决 导入ssl包出错的问题的更多相关文章

  1. ubuntu下安装python3.6.5导入ssl模块失败

    1.问题 python安装完毕后,提示找不到ssl模块: [root@localhost ~]# python3 Python ( , ::) [GCC (Red Hat -)] on linux2 ...

  2. Centos安装python3

    安装环境 系统:阿里云服务器centos7.5系统 看见好多博客对centos安装python3的方式各不相同且都不完整,今天我来完整的演示安装python3 1.下载python3源码包 命令 wg ...

  3. Python3中无法导入ssl模块的解决办法

    这个问题,已经困扰我好几天了,本萌新刚开始接触python,想爬取几个网页试试,发现urllib无法识别https,百度后才知道要导入ssl模块,可是发现又报错了. 本人实在无法理解为什么会报错,因为 ...

  4. Linux非root安装Python3以及解决SSL问题

    说明 接上一篇. [Linux]非root安装Python3及其包管理 上一篇虽然成功安装了Python3及一些常用的模块,但因为一直装不上SSL模块,导致一些包无法安装,尝试了不少方法都失败了(网上 ...

  5. centos 安装python3与Python2并存,并解决"smtplib" object has no attribute 'SMTP_SSL'的错误

    1.需要先安装python3依赖的包yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readli ...

  6. CentOS 安装Python3.x常见问题

    CentOS 6.x自带的Python版本是2.6,CentOS 7.x上自带的是2.7,我们要自己安装Python3.X,配置环境,不过一般安装过程不会一帆风顺,往往有些报错,在CentOS以及其他 ...

  7. CentOS 安装Python3、pip3

    https://ehlxr.me/2017/01/07/CentOS-7-%E5%AE%89%E8%A3%85-Python3%E3%80%81pip3/ CentOS 7 默认安装了 Python ...

  8. centos安装python3虚拟环境和python3安装

    1.本文的系统命令一般会在语句前加上#号,以区分系统命令及其他内容.输入命令时,无需输入#号. # yum install vim 2.本文系统输出的信息,会在前面加上>>号. # whi ...

  9. CentOS 安装 Python3

    CentOS 7 默认安装 python 2.7.5 如图: 开始安装Python 3.6.3 1.下载Python3.6.3包:  拉到最下面,找到对应的包.复制下载链接地址: wget https ...

随机推荐

  1. CentosOS 7: 创建Nginx+Https网站

    参考文章: 1. https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E 2. http://songchenwen.com/tech/ ...

  2. ci get_instance()

    你随便下个CI框架的源码都会看到很多的get_instance() 函数,这个函数是用来获取CI 的全局超级对象,CI 是单例模式的框架,所有全局有一个超级对象.因为只有一个实例,所以无论这个函数使用 ...

  3. HDUJ 2070 Fibbonacci Number

    Fibbonacci Number Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  4. Solidworks如何修改单位

    文档属性-单位-修改成mm                                  

  5. 数据库学习之简单的SQL语句

    1.数据库的结构 1.1数据库 不同数据库叫做Catalog(在有的 DBMS 中也称为 Database,即数据库) .採用多 Catalog 以后能够给我们带 来例如以下优点: 便于对各个 Cat ...

  6. 从打击App刷榜看苹果的底线

    这两天苹果打击App刷榜者的消息刷屏了,从腾讯科技.appying多个媒体渠道看到,<安居客>.<友秘>.<微在>.<秦时明月2>.<悟空与貂蝉& ...

  7. Android利用Volley异步载入数据完整具体演示样例(二)

    MainActivity例如以下: package cc.y; import android.app.Activity; import android.content.Context; import ...

  8. 数组方法-->map()

    map()方法: Array.map((数组元素, 数组元素的下标, 数组本身)=>{}[,thisArray]) 1.调用时在数组内部发生了一次从 0 到 length-1 的循环: 2.返回 ...

  9. 【EasyUi DataGrid】批量删除

    DataGrid是我们做网页经常使用到的组件之中的一个,对它的操作也无非是增删改查操作.单条数据的增删改相对来说比較简单.添加.改动能够直接在DataGrid中进行,也能够用弹出框的形式把数据装载在文 ...

  10. Android Studio报错:DefaultAndroidProject : Unsupported major.minor version 52.0

    今天使用Android Studio 2.0打开我之前的项目时,编译报了如下错误: Error:Cause: com/android/build/gradle/internal/model/Defau ...