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

同目录及子目录文件导入失败:ModuleNotFoundError问题求助

解决Python模块导入找不到的问题

根据你的文件夹结构,deep_knn.py和utils目录都在src子文件夹下,而Python默认不会自动将当前目录的子目录加入模块搜索路径,所以出现ModuleNotFoundError。以下是几种可行的解决方法:

方法1:在代码中临时添加模块路径

在所有导入语句之前,加入以下代码将src目录添加到Python的搜索路径中:

import sys
import os
# 获取当前所在目录(确保你处于DeepNNK_polytope_interpolation目录下运行)
current_dir = os.getcwd()
# 将src目录加入搜索路径
sys.path.append(os.path.join(current_dir, 'src'))

# 现在可以正常导入
from deep_knn import Deep_KNN
import utils.tensorflow_utils as tf_utils

方法2:设置系统环境变量PYTHONPATH

通过环境变量让Python识别src目录(终端重启后需重新设置,若要永久生效可写入系统配置文件):

  • Linux/macOS:在终端执行(确保当前处于DeepNNK_polytope_interpolation目录)
    export PYTHONPATH="$PYTHONPATH:$(pwd)/src"
    
  • Windows CMD:
    set PYTHONPATH=%PYTHONPATH%;%cd%\src
    
  • Windows PowerShell:
    $env:PYTHONPATH += ";$(Get-Location)\src"
    

方法3:修改导入路径指定父模块

在导入时直接指定src作为父模块(可在src目录下创建空的__init__.py文件,Python 3.3+可不创建,但添加后兼容性更好):

from src.deep_knn import Deep_KNN
from src.utils import tensorflow_utils as tf_utils

方法4:用pip安装本地可编辑包

如果项目根目录下存在setup.py或pyproject.toml文件,在DeepNNK_polytope_interpolation目录下执行:

pip install -e .

这会将项目以可编辑模式安装到Python环境中,之后无需额外设置路径即可直接导入模块。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 11:16:55