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

Python跨目录导入模块失败:ModuleNotFoundError问题求助

解决Python跨目录模块导入失败问题

问题场景

项目目录结构如下:

Algorithms/
    Unsupervised/
        examples/
            BSAS.ipynb
        BSAS.py

在examples/BSAS.ipynb中执行导入语句:

from Unsupervised import BSAS

PyCharm语法校验显示合法,但运行时抛出错误:

ModuleNotFoundError: No module named 'Unsupervised'

可行解决方案

1. 临时添加根目录到Python搜索路径

在Notebook开头插入以下代码,将项目根目录(Algorithms/)加入Python的模块搜索路径:

import sys
import os
# 向上回溯两级目录,定位到Algorithms文件夹
sys.path.append(os.path.abspath(os.path.join(os.getcwd(), '../..')))

from Unsupervised import BSAS

2. 使用相对导入

修改导入语句为相对导入格式,适用于同包内的模块引用:

from .. import BSAS

注意:部分Notebook环境对相对导入支持有限,若仍报错,可结合方法1使用。

3. 配置永久路径

在Algorithms目录下创建algorithms.pth文件,写入该目录的绝对路径(例如/home/user/Projects/Algorithms),然后将这个.pth文件复制到Python环境的site-packages目录中。Python启动时会自动加载该路径下的模块。

4. 确认PyCharm的源码根目录配置

右键点击Algorithms目录,选择Mark Directory as -> Sources Root,之后重启Notebook运行内核,再尝试导入操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 18:52:02