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

使用GitHub Codespace时遭遇ModuleNotFoundError问题求助

解决Python导入上级目录模块的ModuleNotFoundError问题

问题场景

项目目录结构:

my-codespace
|--- utils
|------ my_script.py
|--- config.py

在utils/my_script.py中尝试导入config.py时,出现运行时错误:

ModuleNotFoundError: No module named 'config'

编辑器自动补全可识别config.py的内容,但运行时报错,且一段时间后编辑器会出现红线提示;本地PyCharm运行该仓库无问题,但VS Code及GitHub Codespace均出现此问题。

解决方案

方法一:临时添加项目根目录到Python路径

在my_script.py开头加入代码,手动将项目根目录加入Python的模块搜索路径:

import sys
from pathlib import Path

# 获取当前脚本所在目录的上级目录(即项目根目录)
sys.path.append(str(Path(__file__).parent.parent))

# 正常导入config
import config

方法二:配置PYTHONPATH环境变量

在项目根目录创建.env文件,添加以下内容:

PYTHONPATH=${PYTHONPATH}:./

VS Code的Python扩展会自动读取.env文件的配置,重启编辑器或重新加载窗口后生效。

方法三:标记项目根目录为源代码根

  1. 打开编辑器命令面板(Ctrl+Shift+P / Cmd+Shift+P)
  2. 执行Python: Select Interpreter,选择当前使用的Python解释器
  3. 右键点击my-codespace目录,选择Mark Directory as -> Source Root
    编辑器会将该目录纳入模块搜索范围,导入报错会自动消失。

方法四:使用相对导入(限制场景)

如果my_script.py是作为包的一部分被导入(而非直接运行),可以用相对导入:

from .. import config

注意:直接运行my_script.py(如python utils/my_script.py)时,相对导入会报错,仅适用于包内部的模块调用。

差异说明

PyCharm默认会自动将项目根目录加入Python路径,而VS Code和GitHub Codespace需要手动配置,这是两者运行表现不同的原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 13:07:15