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

Python跨目录导入modules模块遇ModuleNotFoundError,如何解决?

问题分析

你遇到的ModuleNotFoundError是因为Python的模块搜索路径未包含project根目录。当执行src/main.py时,Python默认仅将src/目录加入搜索路径,而modules/位于project/下,不在搜索范围内,因此无法被识别。

解决方案

以下是几种实用的解决方法:

方法1:手动添加项目根目录到Python路径

在main.py最顶部添加代码,将project目录手动加入模块搜索路径:

import sys
from pathlib import Path

# 获取project目录的绝对路径(src的父级目录)
project_root = Path(__file__).parent.parent
sys.path.append(str(project_root))

from modules.futures import my_function

print(my_function())

这种方法无需修改系统环境变量,适合临时调试。

方法2:配置VS Code运行环境

通过修改VS Code的launch.json,让Python自动识别项目根目录:

  1. 打开左侧「运行和调试」面板,创建launch.json文件(选择Python环境)。
  2. 在配置中添加env字段,将项目根目录加入PYTHONPATH:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: main.py",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "env": {
                "PYTHONPATH": "${workspaceFolder}"
            },
            "console": "integratedTerminal"
        }
    ]
}

之后运行main.py时,VS Code会自动将project目录(即${workspaceFolder})加入Python搜索路径。

方法3:设置系统环境变量(永久生效)

若希望终端运行时也能正常导入,可将project目录的绝对路径添加到系统PYTHONPATH:

  • Windows:命令行执行 setx PYTHONPATH "你的project目录绝对路径;%PYTHONPATH%"
  • Linux/macOS:终端执行 export PYTHONPATH="/你的project目录绝对路径:$PYTHONPATH",如需永久生效,可将该命令写入~/.bashrc或~/.zshrc文件。
额外说明

你在modules/__init__.py中写的from futures import *并非必要,只要导入路径正确,即使没有该语句,from modules.futures import my_function也能正常工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 14:13:22