python问题集锦

(完美解决)No module named ‘pymysql’

1.成功安装mysql,3.0版本的执行命令:pip3 install pymysql
2.执行导入mysql时报错:No module named 'pymysql
3.查看mysql是否安装成功:pip list ,发现列表中已成功显示 PyMySQL
4.查看pycharm,发现External Libaries下的site-packages内不包含pymysql
在这里插入图片描述
如果一切都没有问题 但是还是报 ModuleNotFoundError: No module named ‘pymysql’ 解决办法:
在这里插入图片描述

TimeoutError: [WinError 10061]解决方法…

python 发邮件 timeout_python程序通过STMP发送邮件出现 TimeoutError: [WinError 10061]解决方法…

参考地址:https://blog.csdn.net/weixin_43896318/article/details/111351544

以前也试过模拟发Email,但好像都忘了,于是按照菜鸟教程重新试了一下:

import smtplib
from email.mime.text import MIMEText
from email.header import Header
 
sender = '[email protected]'
receivers = ['[email protected]']  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
 
# 三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码
message = MIMEText('Python 邮件发送测试...', 'plain', 'utf-8')
message['From'] = Header("菜鸟教程", 'utf-8')   # 发送者
message['To'] =  Header("测试", 'utf-8')        # 接收者
 
subject = 'Python SMTP 邮件测试'
message['Subject'] = Header(subject, 'utf-8')
 
 
try:
    smtpObj = smtplib.SMTP('localhost')
    smtpObj.sendmail(sender, receivers, message.as_string())
    print "邮件发送成功"
except smtplib.SMTPException:
    print "Error: 无法发送邮件"

结果疯狂报错,说是什么ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接.

这个问题查搜索引擎发现都是说什么网络连接问题(比如防火墙、局域网等等),但其实不是关键问题,主要是这个代码有点问题。

修正后的代码是这样的:

import smtplib
from email.mime.text import MIMEText
from email.header import Header

f = open('./config.txt', 'r')

# \n换行符需要删掉
sender = f.readline()[:-1]
receiver = f.readline()[:-1]
password = f.readline()[:-1]

f.close()

receivers = [receiver]

message = MIMEText('Python骚扰邮件', 'plain', 'utf-8')
message['From'] = Header("Python骚扰邮件", 'utf-8')
message['To'] = Header("Python骚扰邮件", 'utf-8')

subject = 'Python-SMTP邮件测试'
message['Subject'] = Header(subject, 'utf-8')

try:
    smtpObj = smtplib.SMTP_SSL("smtp.qq.com", 465)
    smtpObj.connect("smtp.qq.com", 465)
    smtpObj.login(sender, password)
    smtpObj.sendmail(sender, receivers, message.as_string())
    print("邮件发送成功")
except smtplib.SMTPException:
    print("Error: 无法发送邮件")

做几点必要说明:

  • 个人信息存在文件里是比较妥善的做法,通过读文件来获取信息
  • 读的一行文件带有换行符,需要去掉末尾\n
  • 发QQ邮箱需要开启SMTP服务并获取授权码
  • 注意异常处理,其实这里的异常处理比较暴力,真的出错也不便于排错

python3安装pip 问题

遇到问题: zipimport.ZipImportError: can’t decompress data; zlib not available

报这个错会导致pip3无法使用,所以一定要解决这个错

1、在报错的当前路径下安装zlib相关依赖包:
yum -y install zlib*
2、进入 /usr/local/python3/Python-3.6.8/Modules下的Setup文件

vim /usr/local/python3/Python-3.6.8/Modules/Setup

找到

#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

去掉注释;
3、最后一定要记得回到python的安装目录下 cd /usr/local/python3/Python-3.6.8 重新编译

用pip安装 XXX 模块报错:Could not find a version that satisfies the requirement XXX(from version:)

例如我安装pip3的时候报错如下:

ERROR: Could not find a version that satisfies the requirement pip3 (from versions: none)
ERROR: No matching distribution found for pip3

看有些网友说是因为网络的问题,要使用国内的镜像源来加速

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U

使用清华大学的镜像最后更新成功了

猜你喜欢

转载自blog.csdn.net/qq_22764659/article/details/112785558
今日推荐