You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyCharm同目录导入模块报错:ModuleNotFound问题求助

解决同目录Python模块导入ModuleNotFoundError的方案

1. 核对导入语法

确保使用正确的导入写法,比如要导入spambot.py中的send_spam函数:

# 直接导入函数
from spambot import send_spam
# 或导入整个模块
import spambot

注意:单目录结构下不要用相对导入(比如from .spambot import ...),否则会触发导入错误。

2. 检查文件命名细节

  • 确认文件名完全匹配:比如你代码里写的是spambot,实际文件不能是SpamBot.py(Linux/macOS区分大小写,PyCharm跨环境同步时容易踩坑)。
  • 避免与Python内置模块重名:比如不要把文件命名为email.py,会覆盖内置模块导致冲突。

3. 验证PyCharm运行配置

即使项目根目录已在搜索路径,也要检查当前运行配置:

  • 打开「Run/Debug Configurations」,找到你正在运行的脚本配置。
  • 确认「Working directory」是当前脚本所在目录,而非上级目录。
  • 勾选「Add content roots to PYTHONPATH」和「Add source roots to PYTHONPATH」选项。

4. 手动添加路径到sys.path(临时修复)

如果以上步骤无效,可以在导入前手动将当前目录加入Python路径:

import sys
import os
# 添加当前脚本所在目录到搜索路径
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from spambot import send_spam

5. 添加__init__.py文件(可选)

若需要将当前目录视为Python包,创建一个空的__init__.py文件(Python 3.3+支持命名空间包,但部分旧环境或工具仍依赖该文件)。

6. 清理PyCharm缓存

PyCharm缓存异常可能导致模块识别失败:

  • 点击「File」→「Invalidate Caches...」
  • 选择「Invalidate and Restart」,重启后重试导入。

内容的提问来源于stack exchange,提问作者Jackson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 16:36:23