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

Python跨目录导入模块遇ImportError问题求助

Python跨目录导入模块解决方案

项目结构确认

├── notebooks (folder)
│ └── data_evaluation.ipynb
├── src (folder) 
│ ├── __init__.py
│ ├── utils.py
│ └── webscraping (folder)
│       ├── __init__.py
│       └── scraping_data.py

1. 在scraping_data.py中导入utils.py的函数

方法一:动态添加项目根目录到Python路径(推荐,可直接运行脚本)

在scraping_data.py开头添加以下代码,之后即可用绝对导入:

import sys
from pathlib import Path

# 定位项目根目录(当前文件位于src/webscraping,需向上回溯两级到根目录)
project_root = Path(__file__).parent.parent.parent
sys.path.append(str(project_root))

# 现在可以正常导入
from src.utils import function

方法二:以包模块方式运行脚本(使用相对导入)

不要直接双击或用python src/webscraping/scraping_data.py运行脚本,而是在项目根目录下执行以下命令:

python -m src.webscraping.scraping_data

此时可以使用相对导入语法:

from ..utils import function

2. 在data_evaluation.ipynb中导入utils.py的函数

在notebook的第一个代码单元格中添加路径配置代码,之后即可导入:

import sys
from pathlib import Path

# 定位项目根目录(当前notebook位于notebooks文件夹,向上回溯一级到根目录)
project_root = Path.cwd().parent
sys.path.append(str(project_root))

# 正常导入函数
from src.utils import function

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 03:14:51