如何修复Python报错ModuleNotFoundError: No module named 'config'
ModuleNotFoundError: No module named 'config' 可落地修复方案 报错核心原因是代码中import config语句尝试导入的本地配置文件不存在、路径不匹配,同时原有代码还存在属性拼写错误、缩进错误、缺失导入的问题,按以下步骤操作即可解决:
- 新建配置文件
在你当前运行的Python脚本同级目录下,新建名为config.py的文件,严格注意文件名全小写、后缀为.py,不能出现大小写错误(比如Config.py)、后缀错误(比如config.txt)。
在config.py中写入以下配置内容,替换为你自己的真实邮箱信息:
# config.py 内容 EMAIL_ADDRESS = '你的outlook邮箱全称@outlook.com' EMAIL_PASSWORD = '你的outlook邮箱SMTP授权码'注意:Outlook邮箱第三方客户端登录需要先在账号安全中心开启SMTP服务,使用平台生成的授权码登录,不要直接使用账号登录密码,否则会触发登录失败报错。
- 新建配置文件
- 修正原有业务代码的错误
你原有代码存在3个会导致运行失败的问题:缩进混乱、缺失re模块导入、密码属性名拼写错误(写为config.EMAIL.PASSWORD,多了一个点),修正后的可运行代码如下:
import smtplib import re import config # 替换为你实际使用的正则规则和待检测正文 pattern = r'你的正则匹配规则' body = '待检测的文本内容' def send_email(subject, msg): try: server = smtplib.SMTP('smtp-mail.outlook.com:587') server.ehlo() server.starttls() # 修正原有的属性拼写错误 server.login(config.EMAIL_ADDRESS, config.EMAIL_PASSWORD) message = 'Subject: {}\n\n{}'.format(subject, msg) server.sendmail(config.EMAIL_ADDRESS, '***@gmail.com', message) server.quit() print("email sent ツ") except Exception as e: print(f"邮件发送失败,错误信息:{e}") if re.search(pattern, body) is None: send_email("你的邮件主题", "你的邮件正文内容")- 修正原有业务代码的错误
- 验证运行路径
执行脚本前,先通过终端cd到config.py和业务脚本共同存放的目录,再执行运行命令,避免因工作目录不匹配导致Python找不到本地config模块:
# 替换为你的实际目录和脚本文件名 cd /path/to/your/script/folder python your_email_script.py- 验证运行路径
内容的提问来源于stack exchange,提问作者LaunchCoder33
相关产品推荐
相关产品推荐

