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

非Flask场景:ModuleNotFoundError——找不到'app'模块求助

解决ModuleNotFoundError: No module named 'app'问题

问题场景

项目目录结构如下:

├── README.md
├── app
│   ├── __init__.py
│   ├── config.py
│   ├── examples
│       └── simple_schema
│           ├── __init__.py
│           ├── consumer.py
│           └── producer.py
├── requirements.txt

在examples.simple_schema.consumer.py或examples.simple_schema.producer.py中执行import app.config或from app import config时,出现ModuleNotFoundError: No module named 'app'错误。

原因

Python的模块搜索路径默认不包含app目录的父目录(即项目根目录)。当直接运行consumer.py或producer.py时,Python会以脚本所在目录为基准查找模块,找不到上层的app模块。

解决方案

方法1:临时设置PYTHONPATH环境变量

在项目根目录(包含README.md的目录)执行以下命令,将项目根目录加入Python的模块搜索路径:

  • Linux/macOS:
export PYTHONPATH=$(pwd)
python app/examples/simple_schema/consumer.py
  • Windows CMD:
set PYTHONPATH=%cd%
python app\examples\simple_schema\consumer.py
  • Windows PowerShell:
$env:PYTHONPATH = Get-Location
python app\examples\simple_schema\consumer.py

方法2:在脚本中手动添加路径

在consumer.py或producer.py的开头添加以下代码,动态将项目根目录加入搜索路径:

import sys
from pathlib import Path

# 向上回溯4层找到项目根目录(app的父目录)
project_root = Path(__file__).parent.parent.parent.parent
sys.path.append(str(project_root))

# 之后即可正常导入
from app import config

方法3:将项目安装为可编辑模块

在项目根目录运行以下命令,把项目以可编辑模式安装到Python环境中,之后无论在哪运行脚本都能直接导入app模块:

pip install -e .

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 01:50:37