日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Linux OS 運行python腳本中smtplib has no attribute SMTP_SSL報錯的問題

作者:圖愛森 更新時間: 2022-07-13 編程語言

Linux OS 運行python腳本中smtplib has no attribute SMTP_SSL報錯的問題

前言

在配置好linux服務器環境之后,運行python的腳本,發現smtplib模塊報錯,但是在windows上卻沒有,報錯如下:

linux  module 'smtplib' has no attribute 'SMTP_SSL'

配置

  • Centos7
  • Python3.7

原因

查找smtplib.SMTP_SSL的源碼,發現SMTP_SSL類是在have_ssl為True時才成立,而have_ssl這個變量需要ssl的依賴才為True,那么問題找到了,linux上并沒有ssl依賴

請添加圖片描述

請添加圖片描述

解決方案

  • 安裝ssl依賴
yum install openssl openssl-devel
yum install libssl-dev
  • 檢驗安裝成功,查看版本
openssl version -a
  • 進入你的python3.7目錄,例如我的python-3.7.6.tgz文件解壓后放置在/usr/tgz/python/Python-3.7.6目錄下,進入該文件下的Modules文件夾,有的版本是Module文件
cd /usr/tgz/python/Python-3.7.6
cd Modules
  • 修改Setup文件,改動如下,將200多行處的5行代碼取消注釋
vim Setup

請添加圖片描述

按ESC,:wq,Enter后保存退出

  • 返回上一級目錄,即python3.7目錄,重裝python
cd ..
make && make install

級目錄,即python3.7目錄,重裝python

cd ..
make && make install
  • 運行代碼,問題解決

原文鏈接:https://blog.csdn.net/tian1766965235/article/details/125751383

欄目分類
最近更新