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

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'的错误

原文地址:https://www.cnblogs.com/vathena/p/10630055.html

时间: 2024-09-30 06:20:32

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

centOS 安装Python3与python2并存

如果本机安装了`python2`,尽量不要管他,使用`python3`运行python脚本就好,因为可能有程序依赖目前的`python2`环境, 比如`yum`!!!!! 不要动现有的`python2`环境! ### 安装`python3.7`#### 安装依赖环境```bashyum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-de

CentOS7下安装Python3和Python2并存

(一)简述刚安装的centos7.4版本默认是安装Python2.7,由于一些命令需要使用的原因,比如yum等,使用的是2.7.5版本的,由于现在很多库包括django都是使用Python3,因此,有这样的需求:yum使用python2.7版本,django和其他的使用默认的python3版本. (二)查看并备份python2相关信息1,使用python -V 可以查看默认的版本信息. [[email protected] ~]# python -V Python 2.7.5 2,然后使用whi

Centos安装Python3.6

Centos安装Python3.6 一般linux里都安装python2尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境, 比如yum!!!!! 不要动现有的python2环境! 一.安装Python3.61.安装依赖环境 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-deve

Win10下安装Python3及Python2、数据类型、格式化输出、运算符

Win10下安装Python3及Python2 下载的官网地址: https://www.python.org/downloads/windows/ 安装Python3: 安装完成之后,在开始处输入 cmd ,测试Python是否安装成功. 输入: python -V ----> pip -v ----> pip 安装Python2: 安装完成之后,打开之前打开的命令提示符页面,测试Python是否安装成功. 输入: python -V ----> pip -v Python3.x与Py

CenOS 安装python3 与python2共存

Linux下默认系统自带python2.6的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的,所以可以安装python3和python2共存 首先去Python官网下载python3的源码包,网址:https://www.python.org/ 进去之后点击导航栏的Downloads,也可以鼠标放到Downloads上弹出菜单选择Source code,就是源码包的意思,这里选择最新版本3.5.1,当然下面

pycharm 安装第三方库报错:AttributeError: 'module' object has no attribute 'main'

今天在做自动化测试的时候,碰到了这个问题. 尝试了环境变量,升级PIP版本,都没有效果. 后来就去百度,有前辈碰到过类似的问题. 其实很简单,就是PYCHARM版本的问题. 把pycharm的版本升级到2018年1月以后的版本就好了,重启电脑就解决了. 其主要原因是 新版的 pip 更改了 部分api 将其中 pip.main() 改为 pip_main(), 旧版的pycharm中 在packaging_tool.py 中引用的就是 pip.main()方法,所以会报错. 最简单的.最完美的解

CentOS安装Python3

目前学习python3已经成为主流,对于Python3的安装,这里做一下简单的总结,在安装过程中有有一些小坑,分享出来供大家参考.本人使用的系统是:CentOS 7.2.1511,最小化的安装方式,安装Python3.5版本. 下载安装Python3 1. 先在系统上安装必要的编译环境和安装工具: yum install wget gcc gcc+ 2. 下载官方的python3.5.3源码包 wget  https://www.python.org/ftp/python/3.5.3/Pytho

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

1.本文的系统命令一般会在语句前加上#号,以区分系统命令及其他内容.输入命令时,无需输入#号. # yum install vim 2.本文系统输出的信息,会在前面加上>>号. # which python >> /usr/bin/python # 系统输出的信息 3.本文的系统命令都是在root账号下执行的,假如非root账号执行,提示没有权限,可在命令前加sudo. # yum install vim #root账号下执行命令 # sudo yum install vim #非

Windows7 下python3和python2同时 安装python3和python2

1.下载python3和python2 进入python官网,链接https://www.python.org/ 选择Downloads--->Windows,点击进入就可以看到寻找想要的python版本 本文选择的是: Python3.5.2,点击后面链接可直接下载,https://www.python.org/ftp/python/3.5.2/python-3.5.2rc1-amd64.exe Python2.7.9, 点击后面链接可直接下载,https://www.python.org/f