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

通过SSH克隆仓库后导入父目录本地模块出现ModuleNotFoundError如何解决

问题解决方案

你遇到的问题核心是sys.path.append("./")添加的是执行python命令时的终端工作目录,而非当前代码文件所在的父目录,具体排查和解决方法如下:

  • 路径定位错误修复
    不要用相对路径./来添加上级目录,改用当前脚本的绝对路径定位父目录:
import sys
import os
# 取当前脚本的绝对路径所在目录
script_dir = os.path.dirname(os.path.abspath(__file__))
# 取当前脚本目录的父目录
parent_dir = os.path.dirname(script_dir)
sys.path.append(parent_dir)
import testfile as test
  • 检查模块结构合规性
    • 确认testfile.py确实存放在你要导入的父目录下,路径拼写、大小写完全匹配(Linux/Mac环境下路径大小写敏感,和Windows不同)
    • Python3.3以上版本虽然支持隐式命名空间包,但如果父目录需要作为包被识别,建议在目录下新增空的__init__.py文件做兼容
  • 分支文件校验
    你是在新建分支后操作的,确认当前分支下已经同步了testfile.py文件,且该文件没有被项目的.gitignore规则过滤
  • 命名冲突排查
    执行下方代码排查是否存在同名模块优先级冲突:
import sys
# 打印所有导入路径,确认父目录在列表中且优先级高于其他可能存在同名模块的路径
print(sys.path)
# 检查是否已经有同名模块被加载
print(sys.modules.get("testfile"))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:18:02