VS Code虚拟环境中本地模块导入失败问题求助
同级文件导入报错的解决办法
1. 核对项目目录结构
先确认你的目录层级是否符合预期,正确结构应该是:
你的项目名/ ├── app/ │ ├── routers/ │ │ ├── main.py │ │ ├── models.py │ │ └── schemas.py │ └── ... └── ...
如果main.py确实和models.py同属app/routers目录,继续看下面的方案。
2. 用模块方式启动脚本
相对导入仅适用于模块场景,如果你直接在app/routers目录下运行python main.py,Python会把它当作独立脚本,不会识别为app.routers模块的一部分,从而触发报错。
正确启动方式是回到项目根目录,执行:
python -m app.routers.main
3. 添加__init__.py文件
在app/routers目录下创建一个空的__init__.py文件,让Python识别这个目录为可导入的模块包。
4. 切换为绝对导入
如果相对导入依然有问题,可以改用绝对导入写法:
from app.routers import models, schemas
确保项目根目录已经在Python的sys.path中(虚拟环境默认会包含项目根目录)。
5. 排查命名冲突
检查项目中是否存在其他同名的models.py文件,或者app/routers外有重名模块,导致Python导入了错误的文件。
内容的提问来源于stack exchange,提问作者PythonRider
相关产品推荐
相关产品推荐

