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

Mac下Python3.7运行Flask项目遇ModuleNotFoundError求助

解决Mac上Python 3.7运行Flask项目时的ModuleNotFoundError: No module named 'aimupapp'问题

我看了你的问题和项目细节,这个错误的核心原因是你直接运行了routes.py文件,而非项目入口的run.py,加上Python的模块搜索路径没包含项目根目录,才导致找不到aimupapp模块。

先还原下你的错误场景:

Traceback (most recent call last):
  File "/Users/sxxx/Desktop/python-project/aimupapp/routes.py", line 2, in <module>
    from aimupapp import app
ModuleNotFoundError: No module named 'aimupapp'
[Finished in 0.7s with exit code 1]
[shell_cmd: python -u "/Users/sxxx/Desktop/python-project/aimupapp/routes.py"]
[dir: /Users/sxxx/Desktop/python-project/aimupapp]

你的项目结构是标准的Flask项目结构,本身没问题:

├── aimupapp
│   ├── __init__.py
│   ├── __pycache__
│   ├── forms.py
│   ├── models.py
│   ├── routes.py
│   ├── site.db
│   ├── static
│   │   ├── bootstrap
│   │   ├── css
│   │   ├── img
│   │   └── main.css
│   └── templates
│       ├── index.html
│       ├── layout.html
│       ├── tutor.html
│       ├── ..
└── run.py

两种解决方法,优先推荐第一种:

1. 直接运行项目入口run.py(最规范)

你的run.py已经写好了正确的启动逻辑,只需要切换到项目根目录(也就是/Users/sxxx/Desktop/python-project/),执行以下命令:

python3.7 -u run.py

这样Python会自动把项目根目录加入模块搜索路径,自然能找到aimupapp模块,也符合Flask项目的启动规范。

2. 临时添加路径(仅适合调试单个文件)

如果你非要单独运行routes.py,可以在routes.py的最顶部添加代码,手动把项目根目录加入Python的搜索路径:

import sys
import os
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))

之后再运行routes.py就能正常找到模块了,但这种方法只适合临时调试,不建议在生产环境使用。

另外要注意,确保你使用的Python3.7和安装Flask、SQLAlchemy等依赖的版本一致,可以用python3.7 --version确认版本匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 07:30:13