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

2.安装python-3.6.8
2.1 获取python-3.6.8
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz
2.2 解压&进入目录
tar -xvJf  Python-3.6.8.tar.xz
cd  Python-3.6.8

2.3 添加ssl库,如果不需要ssl库,可以选择跳过,后续需要用到的时候,再回来修改setup文件重新编译安装也是可以的,我是需要用到ssl来发邮件,所以在这里直接安装了。
关于ssl库,这里有个地方需要注意的,如果系统没有安装ssl模块,或者不清楚是否有安装的,则要在安装的时候,需要同时编译安装ssl模块,否则后续如果无法使用该模块,比如 在使用smtplib SMTP_SSL发送邮件的时候,会出现 "smtplib" object has no attribute 'SMTP_SSL'的错误

同时编译安装ssl,修改一下Modules/Setup.dist,大概在210行左右
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
#SSL=/usr/local/ssl
#_ssl _ssl.c \
# -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
# -L$(SSL)/lib -lssl -lcrypto

将ssl的下面4个注释去掉,修改后的结果为:
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
SSL=/usr/local/ssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto

2.4 编译&安装
./configure prefix=/usr/local/python3
make && make install

3.创建Python3到系统执行目录 /usr/bin
/usr/bin目录下有个python的执行文件,ls看一下发现它是指向系统默认安装的python2
[root@VM_0_15_centos ~]# ls -an /usr/bin/python
lrwxrwxrwx 1 0 0 7 Mar 19 2018 /usr/bin/python -> python2

如果想要保留Python2,不要覆盖它,如果不想保留,直接覆盖就好,因为yum需要用到python2,本人保留python还是指向Python2,创建一个新的软链指向python3
ln -s /usr/local/python3/bin/python3 /usr/bin/python3

到此Python3就安装完成了,使用python3 -V就可以查看python3版本了,运行python脚本的时候,使用python3 xxx.py就可以执行python3的脚本了,而使用Python xxx.py就还是使用Python2来运行脚本。

centos 安装python3与Python2并存,并解决"smtplib" object has no attribute 'SMTP_SSL'的错误的更多相关文章

  1. centOS 安装Python3与python2并存

    如果本机安装了`python2`,尽量不要管他,使用`python3`运行python脚本就好,因为可能有程序依赖目前的`python2`环境, 比如`yum`!!!!! 不要动现有的`python2 ...

  2. CenOS 安装python3 与python2共存

    Linux下默认系统自带python2.6的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的,所以可以安装py ...

  3. Centos安装python3

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

  4. Linux系统Centos安装Python3.7

    Linux下默认系统自带python2.7的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的,所以可以安装py ...

  5. Windows同时安装python3和python2

    Windows同时安装python3和python2 https://www.cnblogs.com/shanhua-fu/p/6912683.html Windows7 下python3和pytho ...

  6. centOS安装python3 以及解决 导入ssl包出错的问题

    参考: https://www.cnblogs.com/mqxs/p/9103031.html https://www.cnblogs.com/cerutodog/p/9908574.html 确认环 ...

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

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

  8. CentOS 安装Python3、pip3

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

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

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

随机推荐

  1. 2018-2019-2 网络对抗技术 20165336 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165336 Exp2 后门原理与实践 1.基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 下载自己不熟悉的软件时含有病毒. 网络钓鱼, ...

  2. 彻底清空SharePoint回收站(仅限IE)

    1.导航到回收站页面2.F12,在控制台输入javascript:emptyItems()3.回车 4.点击确定即可 注意:这种方法可能只适用于Internet Explorer

  3. MySQL 基础 查询

    别名 查询数据时,如果表名很长,使用起来不方便,此时,就可以为表取一个别名,用这个别名来代替表的名称 .同时为了更好的显示所查询出来的字段,也可以给字段取别名. 一,表作为别名: mysql> ...

  4. Spark SQL 编程初级实践

    一.实验目的 (1)       通过实验掌握 Spark SQL 的基本编程方法: (2)       熟悉 RDD 到 DataFrame 的转化方法: (3)       熟悉利用 Spark ...

  5. ehcarts 四川地图

    vue 首先你要傻子地图就引入进来(没得的地图需要你json请求得到(这个json自己去找),然后你要注册这个地图,echarts有的话就不用注册) import "../../node_m ...

  6. 用php实现斐波那契数列,如: 1, 1, 2, 3, 5, 8, 13, 21, 34。用数组求出第20个数的值。

    <?php //用数组 function fib($n){ $array = array(); $array[0] = 1; $array[1] = 1; for($i=2;$i<$n;$ ...

  7. runTime动态给类添加属性

    #项目中需要给系统类添加属性 #需要注意的地方就是.m中   set 和 get  ,get方法中方法名和添加的属性名一致,set中可以用驼峰 #import <UIKit/UIKit.h> ...

  8. node概述

    1.什么是node:“一个搭建在Chrome JavaScript运行时 上的平台,用于构建高速.可伸缩的网络程序.Node.js采用的事件驱动.非阻塞I/O模型,使它 既轻量又高效,并成为构建运行在 ...

  9. Mac下安装SecureCRT并激活

    今天花了好长的时间终于把SecureCRT安装成功了 现在分享给大家 安装的步骤, 希望对大家用帮助 Mac下的SecureCRT需要破解才能使用 所以有些费劲的.. 先下载SecureCRT和破解文 ...

  10. [assembly: AssemblyVersion("1.0.1.*")] 指定版本字符串不符合所需格式 - major[.minor[.build[.revision]]]

    报如下错误, 解决方法:打开项目文件,修改 打开项目文件修改:<Deterministic>true</Deterministic> 为:<Deterministic&g ...