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

VS Code中Python跨文件夹导入模块提示No module named 'ch6'如何解决

跨文件夹导入报错的核心原因

Python导入模块时,仅会从预设的路径列表中搜索目标模块,搜索优先级如下:

  • 当前运行脚本的工作目录
  • 系统环境变量PYTHONPATH配置的目录
  • Python内置标准库目录
  • 第三方库安装目录(通常为site-packages)

你当前的目录结构如下:

项目根目录
├── ch6
│   └── RandomCharacter.py
└── ch7
    └── CountLettersInList.py

你直接运行ch7下的CountLettersInList.py时,Python的工作目录是ch7文件夹,该文件夹下既没有ch6子文件夹,也没有RandomCharacter.py文件,因此两种导入方式都会报错:

  • import ch6.RandomCharacter:ch7目录下找不到ch6模块/文件夹,触发No module named 'ch6'报错
  • import RandomCharacter:ch7目录下不存在RandomCharacter.py文件,触发No module named 'RandomCharacter'报错

当你把CountLettersInList.py复制到ch6文件夹运行时,工作目录变为ch6文件夹,目录下刚好存在RandomCharacter.py文件,因此可以正常导入。

可选修复方案

如果要保持现有目录结构正常导入,可参考以下操作:

  1. 把项目根目录添加到Python搜索路径,在CountLettersInList.py最开头添加代码:
import sys
from pathlib import Path
sys.path.append(str(Path(__file__).parent.parent))
  1. 在项目根目录、ch6、ch7文件夹下分别创建空的__init__.py文件,将对应目录标记为可导入的Python包
  2. 运行脚本时从项目根目录执行,命令为python -m ch7.CountLettersInList

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 20:57:02